@charset "UTF-8";
/* Žilina 2050 – nový viacstránkový web.
   Dizajn podľa schváleného konceptu /h2 v34 (2026-11-03): paleta letákov, plné karty bez skla a prechodov, klasické pilulky bez šípok,
   štítky oblastí v plných farbách Manifestu, veľké nadpisy ZilinaLaubne. Predchádzajúca verzia je v z50.pred-v34.scss.
   Všetko je pod body.z50 (trieda len na nových stránkach), stará homepage ostáva bez zmeny. */
/* ---------------------------------------------------------------- tokeny */
/* ---------------------------------------------------------------- základ */
body.z50 {
  background: #142B41;
  color: #FFFFFF;
  font-family: "ZilinaText", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  overflow-x: clip;
  /* GeneratePress kontajnery: obsah si riadi každá sekcia sama */
  /* koreň novej homepage (.z50j) má farby nadpisov a odkazov z blokov ako /h2, globálne pravidlá ho obchádzajú */
  /* obrázky v koreni homepage (.z50j) majú rozmery z GenerateBlocks ako na /h2 (vrstvy hero majú výšku 106 %) */
  /* :where drží nízku špecifickosť, aby rozmery log a ikon z komponentov vyhrali */
}
body.z50 .site-content, body.z50 .content-area, body.z50 .site-main, body.z50 .inside-article, body.z50 .entry-content {
  margin: 0;
  padding: 0;
}
body.z50 .site-content {
  display: block;
}
body.z50 .inside-article, body.z50 .one-container .site-content {
  background: transparent;
}
body.z50 .site.grid-container, body.z50 .container.grid-container {
  max-width: none;
}
body.z50 .entry-content > *:not(.alignfull):not(.z50-sekcia) {
  margin-block: 0;
}
body.z50 :where(a:not(.z50j *)) {
  color: #67C1A6;
}
body.z50 a:focus-visible, body.z50 button:focus-visible, body.z50 input:focus-visible, body.z50 select:focus-visible, body.z50 textarea:focus-visible, body.z50 summary:focus-visible {
  outline: 2px solid #67C1A6;
  outline-offset: 3px;
}
body.z50 ::selection {
  background: #67C1A6;
  color: #0A1928;
}
body.z50 :where(img:not(.z50j img)) {
  max-width: 100%;
  height: auto;
}
body.z50 :where(h1, h2, h3, h4):where(:not(.z50j *)) {
  font-family: "ZilinaLaubne", sans-serif;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: -0.01em;
}
/* scrollbar stránky v palete (ako /h2 v34): tmavá dráha ako päta, modrošedý posuvník, pri prejdení zelený */
html:has(> body.z50)::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}
html:has(> body.z50)::-webkit-scrollbar-track {
  background: #0B1A2B;
}
html:has(> body.z50)::-webkit-scrollbar-thumb {
  background: #3E5C7C;
  border: 3px solid #0B1A2B;
  border-radius: 10px;
}
html:has(> body.z50)::-webkit-scrollbar-thumb:hover {
  background: #67C1A6;
}
html:has(> body.z50)::-webkit-scrollbar-corner {
  background: #0B1A2B;
}
@supports not selector(::-webkit-scrollbar) {
  html:has(> body.z50) {
    scrollbar-color: #3E5C7C #0B1A2B;
  }
}
/* ---------------------------------------------------------------- rozloženie */
.z50 {
  /* pásy sekcií v tóne letáku (ako stuha log na /h2); bez prechodov a žiar */
  /* hlavička sekcie: nadpis vľavo, odkazy „Všetky…“ vpravo pri nadpise (na mobile pod ním) */
}
.z50 .z50-wrap {
  width: 100%;
  max-width: 1400px;
  margin-inline: auto;
  padding-inline: 56px;
}
.z50 .z50-wrap--uzke {
  max-width: calc(820px + 2 * 56px);
}
@media (max-width: 1024px) {
  .z50 .z50-wrap {
    padding-inline: 20px;
  }
  .z50 .z50-wrap--uzke {
    max-width: calc(820px + 2 * 20px);
  }
}
.z50 .z50-sekcia {
  position: relative;
  padding-block: 80px;
}
.z50 .z50-sekcia--tesna {
  padding-block: 56px;
}
.z50 .z50-sekcia--bez-hore {
  padding-top: 0;
}
@media (max-width: 1024px) {
  .z50 .z50-sekcia {
    padding-block: 60px;
  }
  .z50 .z50-sekcia--tesna {
    padding-block: 44px;
  }
  .z50 .z50-sekcia--bez-hore {
    padding-top: 0;
  }
}
@media (max-width: 767px) {
  .z50 .z50-sekcia {
    padding-block: 44px;
  }
  .z50 .z50-sekcia--tesna {
    padding-block: 32px;
  }
  .z50 .z50-sekcia--bez-hore {
    padding-top: 0;
  }
}
.z50 .z50-sekcia--modra, .z50 .z50-sekcia--karta {
  background: #1D3C59;
}
.z50 .z50-sekcia--papier {
  background: #F2EFE6;
  color: #0A1928;
}
.z50 .z50-sekcia--tyrkys {
  background: #67C1A6;
  color: #0A1928;
}
.z50 .z50-sekcia--zlta {
  background: #FAF489;
  color: #0A1928;
}
.z50 .z50-sekcia--papier h1, .z50 .z50-sekcia--papier h2, .z50 .z50-sekcia--papier h3, .z50 .z50-sekcia--papier h4, .z50 .z50-sekcia--papier .z50-h2, .z50 .z50-sekcia--papier .z50-h3, .z50 .z50-sekcia--papier .z50-perex, .z50 .z50-sekcia--papier .z50-text, .z50 .z50-sekcia--papier .z50-kicker, .z50 .z50-sekcia--tyrkys h1, .z50 .z50-sekcia--tyrkys h2, .z50 .z50-sekcia--tyrkys h3, .z50 .z50-sekcia--tyrkys h4, .z50 .z50-sekcia--tyrkys .z50-h2, .z50 .z50-sekcia--tyrkys .z50-h3, .z50 .z50-sekcia--tyrkys .z50-perex, .z50 .z50-sekcia--tyrkys .z50-text, .z50 .z50-sekcia--tyrkys .z50-kicker, .z50 .z50-sekcia--zlta h1, .z50 .z50-sekcia--zlta h2, .z50 .z50-sekcia--zlta h3, .z50 .z50-sekcia--zlta h4, .z50 .z50-sekcia--zlta .z50-h2, .z50 .z50-sekcia--zlta .z50-h3, .z50 .z50-sekcia--zlta .z50-perex, .z50 .z50-sekcia--zlta .z50-text, .z50 .z50-sekcia--zlta .z50-kicker {
  color: #0A1928;
}
.z50 .z50-zara {
  background-image: none;
}
.z50 .z50-stack {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.z50 .z50-stack--s {
  gap: 12px;
}
.z50 .z50-stack--l {
  gap: 56px;
}
@media (max-width: 1024px) {
  .z50 .z50-stack--l {
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .z50 .z50-stack--l {
    gap: 32px;
  }
}
.z50 .z50-riadok {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}
.z50 .z50-hlava {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px 40px;
  margin-bottom: 56px;
}
.z50 .z50-hlava__texty {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 820px;
}
.z50 .z50-hlava > .z50-sipka, .z50 .z50-hlava > a.z50-sipka {
  padding-bottom: 6px;
}
@media (max-width: 1024px) {
  .z50 .z50-hlava {
    margin-bottom: 40px;
  }
}
@media (max-width: 767px) {
  .z50 .z50-hlava {
    margin-bottom: 32px;
  }
}
.z50 .z50-dva {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px 72px;
  align-items: center;
}
.z50 .z50-dva--hore {
  align-items: start;
}
.z50 .z50-dva--7-5 {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
.z50 .z50-mriezka {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.z50 .z50-mriezka--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.z50 .z50-mriezka--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1024px) {
  .z50 .z50-mriezka, .z50 .z50-mriezka--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .z50 .z50-dva, .z50 .z50-dva--7-5 {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  .z50 .z50-mriezka, .z50 .z50-mriezka--2, .z50 .z50-mriezka--4 {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
}
/* ---------------------------------------------------------------- typografia */
.z50 {
  /* štítok sekcie: obyčajný tučný text v akcente, nie pilulka */
  /* obsah z editora (projekty, partneri, články, stránky oblastí) */
}
.z50 .z50-h1 {
  font-family: "ZilinaLaubne", sans-serif;
  font-weight: 700;
  font-size: clamp(42px, 5.2vw, 76px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: #FFFFFF;
  margin: 0;
  text-wrap: balance;
}
.z50 .z50-h1--s {
  font-size: clamp(36px, 4.2vw, 60px);
  line-height: 1.05;
}
.z50 .z50-h2 {
  font-family: "ZilinaLaubne", sans-serif;
  font-weight: 700;
  font-size: clamp(38px, 4.6vw, 66px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: #FFFFFF;
  margin: 0;
  text-wrap: balance;
}
.z50 .z50-h2--velky {
  font-size: clamp(42px, 5.2vw, 76px);
  line-height: 1.02;
}
.z50 .z50-h3 {
  font-family: "ZilinaLaubne", sans-serif;
  font-weight: 700;
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #FFFFFF;
  margin: 0;
}
.z50 .z50-h3--s {
  font-size: clamp(21px, 1.7vw, 25px);
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.z50 .z50-perex {
  font-size: 18px;
  line-height: 1.55;
  color: rgba(248, 250, 252, 0.8);
  margin: 0;
  max-width: 680px;
}
.z50 .z50-text {
  font-size: 16px;
  line-height: 1.65;
  color: #FFFFFF;
  margin: 0;
}
.z50 .z50-maly {
  font-size: 14px;
  line-height: 1.55;
}
.z50 .z50-kicker {
  font-family: "ZilinaText", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #67C1A6;
  margin: 0;
}
.z50 .z50-popis {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: rgba(248, 250, 252, 0.6);
  margin: 0 0 8px;
}
.z50 .z50-akcent, .z50 .z50-zvyraznenie {
  color: #67C1A6;
  background: none;
  padding: 0;
}
.z50 :is(.z50-h1, .z50-h2) strong {
  color: #67C1A6;
  font-weight: inherit;
}
@media (max-width: 767px) {
  .z50 .z50-perex {
    font-size: 17px;
  }
}
.z50 .z50-obsah {
  font-size: 17px;
  line-height: 1.7;
  max-width: 760px;
  /* tabuľky (napr. zoznam cookies): tenké oddeľovače riadkov, na mobile sa riadok skladá pod seba */
}
.z50 .z50-obsah > * + * {
  margin-top: 1.1em;
}
.z50 .z50-obsah h2, .z50 .z50-obsah h3, .z50 .z50-obsah h4 {
  color: #FFFFFF;
}
.z50 .z50-obsah h2 {
  font-size: clamp(28px, 2.6vw, 38px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-top: 1.8em;
}
.z50 .z50-obsah h3 {
  font-size: clamp(22px, 1.9vw, 27px);
  line-height: 1.18;
  letter-spacing: -0.01em;
  margin-top: 1.6em;
}
.z50 .z50-obsah h2 + *, .z50 .z50-obsah h3 + * {
  margin-top: 0.6em;
}
.z50 .z50-obsah p, .z50 .z50-obsah li {
  color: rgba(248, 250, 252, 0.88);
}
.z50 .z50-obsah ul, .z50 .z50-obsah ol {
  padding-left: 1.2em;
  margin-left: 0;
}
.z50 .z50-obsah li + li {
  margin-top: 0.4em;
}
.z50 .z50-obsah li::marker {
  color: #67C1A6;
}
.z50 .z50-obsah a {
  color: #67C1A6;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.3s;
}
.z50 .z50-obsah a:hover {
  color: #FFFFFF;
}
.z50 .z50-obsah strong {
  color: #FFFFFF;
}
.z50 .z50-obsah blockquote, .z50 .z50-obsah .wp-block-quote {
  margin: 2em 0;
  padding: 32px 36px;
  border: 0;
  border-left: 3px solid #67C1A6;
  border-radius: 0 16px 16px 0;
  background: #2D4A68;
}
.z50 .z50-obsah blockquote p, .z50 .z50-obsah .wp-block-quote p {
  font-family: "ZilinaLaubne", sans-serif;
  font-size: clamp(21px, 2vw, 27px);
  font-style: normal;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #FFFFFF;
}
.z50 .z50-obsah blockquote cite, .z50 .z50-obsah .wp-block-quote cite {
  display: block;
  margin-top: 14px;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  color: #67C1A6;
}
.z50 .z50-obsah figure, .z50 .z50-obsah .wp-block-embed, .z50 .z50-obsah .wp-block-image {
  margin-block: 2em;
}
.z50 .z50-obsah figcaption {
  margin-top: 10px;
  font-size: 14px;
  color: rgba(248, 250, 252, 0.6);
}
.z50 .z50-obsah img, .z50 .z50-obsah iframe {
  border-radius: 16px;
}
.z50 .z50-obsah .wp-block-embed__wrapper {
  position: relative;
  aspect-ratio: 1.7777777778;
}
.z50 .z50-obsah .wp-block-embed__wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.z50 .z50-obsah .wp-block-file {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  border-radius: 16px;
  background: #2D4A68;
}
.z50 .z50-obsah .wp-block-file a:not(.wp-block-file__button) {
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 700;
}
.z50 .z50-obsah .wp-block-file__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 0;
  padding: 15px 36px;
  border: 1px solid transparent;
  border-radius: 500px;
  background: #67C1A6;
  color: #0A1928;
  font-family: "ZilinaText", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  padding: 11px 26px;
  font-size: 15px;
}
.z50 .z50-obsah .wp-block-file__button:hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: #0A1928;
}
.z50 .z50-obsah code {
  padding: 2px 6px;
  border-radius: 6px;
  background: rgba(248, 250, 252, 0.08);
  color: #FFFFFF;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.86em;
  overflow-wrap: anywhere;
}
.z50 .z50-obsah .wp-block-table {
  margin-block: 1.4em 0;
  overflow-x: visible;
}
.z50 .z50-obsah table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.5;
}
.z50 .z50-obsah th, .z50 .z50-obsah td {
  padding: 14px 16px 14px 0;
  border: 0;
  border-bottom: 1px solid rgba(248, 250, 252, 0.16);
  text-align: left;
  vertical-align: top;
  color: rgba(248, 250, 252, 0.88);
}
.z50 .z50-obsah thead th {
  padding-block: 0 10px;
  border-bottom-color: rgba(248, 250, 252, 0.28);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: rgba(248, 250, 252, 0.6);
}
.z50 .z50-obsah th:first-child, .z50 .z50-obsah td:first-child {
  width: 38%;
}
.z50 .z50-obsah th:last-child, .z50 .z50-obsah td:last-child {
  width: 18%;
  padding-right: 0;
}
@media (max-width: 767px) {
  .z50 .z50-obsah {
    font-size: 16px;
  }
  .z50 .z50-obsah blockquote, .z50 .z50-obsah .wp-block-quote {
    padding: 24px 22px;
  }
  .z50 .z50-obsah table, .z50 .z50-obsah tbody, .z50 .z50-obsah tr, .z50 .z50-obsah td {
    display: block;
    width: auto !important;
  }
  .z50 .z50-obsah thead {
    display: none;
  }
  .z50 .z50-obsah tr {
    padding: 14px 0;
    border-bottom: 1px solid rgba(248, 250, 252, 0.16);
  }
  .z50 .z50-obsah td {
    padding: 0;
    border: 0;
  }
  .z50 .z50-obsah td + td {
    margin-top: 6px;
  }
  .z50 .z50-obsah td:last-child {
    font-size: 14px;
    color: rgba(248, 250, 252, 0.6);
  }
  .z50 .z50-obsah td:last-child::before {
    content: "Platnosť: ";
    font-weight: 700;
  }
}
/* ---------------------------------------------------------------- tlačidlá a odkazy */
.z50 {
  /* pôvodné varianty so šípkou v krúžku sú teraz klasické pilulky */
}
.z50 a.z50-btn, .z50 .z50-btn > a, .z50 .z50-btn .wp-block-button__link, .z50 button.z50-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 0;
  padding: 15px 36px;
  border: 1px solid transparent;
  border-radius: 500px;
  background: #67C1A6;
  color: #0A1928;
  font-family: "ZilinaText", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
.z50 a.z50-btn:hover, .z50 .z50-btn > a:hover, .z50 .z50-btn .wp-block-button__link:hover, .z50 button.z50-btn:hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: #0A1928;
}
.z50 a.z50-btn--obrys, .z50 .z50-btn--obrys > a {
  background: transparent;
  border-color: rgba(248, 250, 252, 0.4);
  color: #FFFFFF;
}
.z50 a.z50-btn--obrys:hover, .z50 .z50-btn--obrys > a:hover {
  background: rgba(248, 250, 252, 0.08);
  border-color: #FFFFFF;
  color: #FFFFFF;
}
.z50 a.z50-btn--tmave, .z50 .z50-btn--tmave > a {
  background: #0A1928;
  border-color: #0A1928;
  color: #FFFFFF;
}
.z50 a.z50-btn--tmave:hover, .z50 .z50-btn--tmave > a:hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: #0A1928;
}
.z50 a.z50-btn--zlte, .z50 .z50-btn--zlte > a {
  background: #FAF489;
  border-color: #FAF489;
  color: #0A1928;
}
.z50 a.z50-btn--zlte:hover, .z50 .z50-btn--zlte > a:hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: #0A1928;
}
.z50 a.z50-btn::after, .z50 .z50-btn > a::after {
  content: none;
}
.z50 a.z50-sipka, .z50 .z50-sipka > a, .z50 .z50-sipka .jet-listing-dynamic-link__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #67C1A6;
  font-family: "ZilinaText", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}
.z50 a.z50-sipka::after, .z50 .z50-sipka > a::after, .z50 .z50-sipka .jet-listing-dynamic-link__link::after {
  content: "→";
  flex: none;
  order: 3;
  font-size: 1.15em;
  line-height: 1;
  transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.z50 a.z50-sipka:hover::after, .z50 a.z50-sipka:focus-visible::after, .z50 .z50-sipka > a:hover::after, .z50 .z50-sipka > a:focus-visible::after, .z50 .z50-sipka .jet-listing-dynamic-link__link:hover::after, .z50 .z50-sipka .jet-listing-dynamic-link__link:focus-visible::after {
  transform: translateX(4px);
}
.z50 a.z50-sipka--spat::after, .z50 .z50-sipka--spat > a::after {
  content: none;
}
.z50 a.z50-sipka--spat::before, .z50 .z50-sipka--spat > a::before {
  content: "←";
  font-size: 1.15em;
  line-height: 1;
  transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.z50 a.z50-sipka--spat:hover::before, .z50 .z50-sipka--spat > a:hover::before {
  transform: translateX(-4px);
}
.z50 .z50-sekcia--papier a.z50-sipka, .z50 .z50-sekcia--papier .z50-sipka > a, .z50 .z50-sekcia--tyrkys a.z50-sipka, .z50 .z50-sekcia--tyrkys .z50-sipka > a, .z50 .z50-sekcia--zlta a.z50-sipka, .z50 .z50-sekcia--zlta .z50-sipka > a {
  color: #0A1928;
}
@media (max-width: 767px) {
  .z50 a.z50-sipka, .z50 .z50-sipka > a {
    min-height: 44px;
  }
}
.z50 .z50-externy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.z50 a.z50-externy::after, .z50 .z50-externy > a::after {
  content: "";
  flex: none;
  order: 3;
  width: 16px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5' fill='none' stroke='%2367C1A6' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.z50 .z50-externy > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
/* ---------------------------------------------------------------- štítky oblastí: plné pilulky vo farbe oblasti s tmavým textom */
.z50 {
  /* zoznam len so skrytým štítkom „Ukážka“ nezaberá miesto (medzera v riadku meta) */
  /* ukončený projekt (archív): tichý štítok pred oblasťami */
}
.z50 .z50-stitky {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.z50 .z50-stitky__item {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}
.z50 .z50-stitky__item--ukazka {
  display: none !important;
}
.z50 .z50-stitky:not(:has(.z50-stitky__item:not(.z50-stitky__item--ukazka))) {
  display: none;
}
.z50 .z50-stitky__link {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border: 0;
  border-radius: 500px;
  background: var(--z50-o, #FFFFFF);
  color: #0A1928;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: box-shadow 0.3s;
}
.z50 .z50-stitky__link:hover, .z50 .z50-stitky__link:focus-visible {
  color: #0A1928;
  box-shadow: 0 0 0 2px rgba(248, 250, 252, 0.55);
}
.z50 .z50-stitky__link[href$="oblast:5"], .z50 .z50-farba-5 {
  --z50-o: #FAF489;
}
.z50 .z50-stitky__link[href$="oblast:6"], .z50 .z50-farba-6 {
  --z50-o: #4DB2FF;
}
.z50 .z50-stitky__link[href$="oblast:7"], .z50 .z50-farba-7 {
  --z50-o: #00D2B4;
}
.z50 .z50-stitky__link[href$="oblast:8"], .z50 .z50-farba-8 {
  --z50-o: #FF8F6B;
}
.z50 .z50-stitky__link[href$="oblast:9"], .z50 .z50-farba-9 {
  --z50-o: #8BDB7A;
}
.z50 .z50-stitky__link[href$="oblast:10"], .z50 .z50-farba-10 {
  --z50-o: #B3A6FF;
}
.z50 .z50-stitky .z50-stitky__item.z50-stitky__item--ukonceny {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 500px;
  background: rgba(248, 250, 252, 0.16);
  color: #FFFFFF;
}
.z50 .z50-stitky--male .z50-stitky__link, .z50 .z50-male-stitky .z50-stitky__link {
  padding: 5px 10px;
  font-size: 12px;
}
/* ---------------------------------------------------------------- hlavička (GP Element 692): pevná, priehľadná, po zascrollovaní plná, nadol sa skryje */
.z50 {
  --z50-lista: 38px;
  --z50-lista-vyska: var(--z50-lista);
  --z50-bar: 84px;
  /* obsah začína pod hlavičkou; stránka s hero (nová homepage) ju má nad sebou ako /h2 */
  /* nad hero jemný tmavý prechod, aby mali odkazy menu aspoň trochu pozadia */
  /* lišta najbližšej udalosti (workshop) v akcentovej zelenej; po zascrollovaní sa zbalí */
  /* dve čiary ako na /h2; pri otvorení krížik */
}
.z50 .site-header:not(.z50-hlavicka) {
  display: none;
}
.z50:not(:has(.z50-lista__odkaz)) {
  --z50-lista-vyska: 0px;
}
@media (max-width: 767px) {
  .z50 {
    --z50-lista: 34px;
    --z50-bar: 68px;
  }
}
.z50 .site {
  padding-top: calc(var(--z50-lista-vyska) + var(--z50-bar));
}
.z50:has(.z50h-hero, .z50p-hero, .z50-uvod__foto) .site {
  padding-top: 0;
}
.z50 .z50-hlavicka-obal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.z50 .z50-hlavicka-obal.is-skryta {
  transform: translateY(-100%);
}
.z50.admin-bar .z50-hlavicka-obal {
  top: 32px;
}
@media (max-width: 782px) {
  .z50.admin-bar .z50-hlavicka-obal {
    top: 46px;
  }
}
.z50:has(.z50h-hero, .z50p-hero, .z50-uvod__foto) .z50-hlavicka-obal::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 190px;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(11, 26, 43, 0.78) 0%, rgba(11, 26, 43, 0.42) 48%, rgba(11, 26, 43, 0) 100%);
  transition: opacity 0.4s;
}
.z50 .z50-hlavicka-obal.is-scrolled::before {
  opacity: 0;
}
.z50 .z50-lista {
  height: var(--z50-lista);
  overflow: hidden;
  background: #67C1A6;
  color: #0A1928;
  text-align: center;
  transition: height 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.3s;
}
.z50 .z50-lista:not(:has(.z50-lista__odkaz)) {
  display: none;
}
.z50 .z50-hlavicka-obal.is-scrolled .z50-lista {
  height: 0;
  opacity: 0;
  pointer-events: none;
}
.z50 .z50-lista .jet-listing-grid, .z50 .z50-lista .jet-listing-grid__items, .z50 .z50-lista .jet-listing-grid__item {
  height: 100%;
}
.z50 .z50-lista .jet-listing-grid__item {
  padding: 0 !important;
}
.z50 .z50-lista__odkaz {
  height: 100%;
}
.z50 .z50-lista__odkaz a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #67C1A6;
  font-family: "ZilinaText", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 16px;
  color: #0A1928;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
}
.z50 .z50-lista__odkaz a::after {
  content: "→";
  flex: none;
  order: 3;
  font-size: 1.15em;
  line-height: 1;
  transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.z50 .z50-lista__odkaz a:hover::after, .z50 .z50-lista__odkaz a:focus-visible::after {
  transform: translateX(4px);
}
.z50 .z50-lista__odkaz a:hover {
  color: #0A1928;
}
@media (max-width: 767px) {
  .z50 .z50-lista__odkaz a {
    font-size: 13px;
  }
}
.z50 .z50-hlavicka {
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background-color 0.4s, border-color 0.4s;
}
.z50 .z50-hlavicka-obal.is-scrolled .z50-hlavicka {
  background: #0F2133;
  border-bottom-color: rgba(248, 250, 252, 0.08);
}
.z50 .z50-hlavicka__vnutro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  height: var(--z50-bar);
}
.z50 .z50-logo {
  flex: none;
  display: flex;
  align-items: center;
  padding-block: 10px;
  line-height: 0;
}
.z50 .z50-hlavicka .z50-logo img {
  width: auto;
  height: 26px;
}
.z50 .z50-menu {
  flex: 1;
  display: flex;
  justify-content: center;
}
.z50 .z50-menu__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.z50 .z50-menu__list li {
  margin: 0;
}
.z50 .z50-hlavicka .z50-menu__list a {
  position: relative;
  display: block;
  padding: 8px 0;
  border: 0;
  color: rgba(248, 250, 252, 0.82);
  font-family: "ZilinaText", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: color 0.3s;
}
.z50 .z50-hlavicka .z50-menu__list a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 2px;
  border-radius: 2px;
  background: #67C1A6;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.z50 .z50-hlavicka .z50-menu__list a:hover, .z50 .z50-hlavicka .z50-menu__list .current-menu-item > a, .z50 .z50-hlavicka .z50-menu__list .current-page-ancestor > a, .z50 .z50-hlavicka .z50-menu__list .current-menu-parent > a {
  color: #FFFFFF;
}
.z50 .z50-hlavicka .z50-menu__list a:hover::after, .z50 .z50-hlavicka .z50-menu__list .current-menu-item > a::after, .z50 .z50-hlavicka .z50-menu__list .current-page-ancestor > a::after, .z50 .z50-hlavicka .z50-menu__list .current-menu-parent > a::after {
  transform: scaleX(1);
}
@media (max-width: 1365px) {
  .z50 .z50-menu__list {
    column-gap: 18px;
  }
}
.z50 .z50-hlavicka__akcie {
  flex: none;
  display: flex;
  align-items: center;
  gap: 18px;
}
.z50 .z50-hlavicka__akcie a.z50-btn {
  padding: 11px 26px;
  font-size: 15px;
}
.z50 .z50-menu-tlacidlo {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(248, 250, 252, 0.22);
  border-radius: 500px;
  background: transparent;
  color: #FFFFFF;
  cursor: pointer;
  transition: border-color 0.3s;
}
.z50 .z50-menu-tlacidlo:hover {
  border-color: rgba(248, 250, 252, 0.5);
  background: transparent;
}
.z50 .z50-menu-tlacidlo__ciary {
  position: relative;
  display: block;
  width: 18px;
  height: 10px;
}
.z50 .z50-menu-tlacidlo__ciary::before, .z50 .z50-menu-tlacidlo__ciary::after {
  content: "";
  position: absolute;
  left: 0;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: #FFFFFF;
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.z50 .z50-menu-tlacidlo__ciary::before {
  top: 0;
}
.z50 .z50-menu-tlacidlo__ciary::after {
  bottom: 0;
}
@media (max-width: 1199px) {
  .z50 {
    /* menu na celú obrazovku pod lištou hlavičky (ako mobilné menu /h2) */
  }
  .z50 .z50-menu-tlacidlo {
    display: inline-flex;
  }
  .z50 .z50-hlavicka .z50-menu {
    position: fixed;
    inset: 0;
    z-index: -1;
    display: none;
    flex-direction: column;
    justify-content: flex-start;
    padding: calc(var(--z50-bar) + 32px) 24px 140px;
    background: #0F2133;
    overflow-y: auto;
  }
  .z50 .z50-hlavicka .z50-menu__list {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .z50 .z50-hlavicka .z50-menu__list a {
    padding: 0;
    font-family: "ZilinaLaubne", sans-serif;
    font-size: clamp(30px, 7vw, 44px);
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: #FFFFFF;
    opacity: 0.92;
  }
  .z50 .z50-hlavicka .z50-menu__list a::after {
    content: none;
  }
  .z50 .z50-hlavicka .z50-menu__list a:hover, .z50 .z50-hlavicka .z50-menu__list .current-menu-item > a {
    color: #67C1A6;
    opacity: 1;
  }
  .z50.z50-menu-otvorene {
    overflow: hidden;
  }
  .z50.z50-menu-otvorene .z50-hlavicka-obal {
    transform: none;
  }
  .z50.z50-menu-otvorene .z50-hlavicka-obal::before {
    opacity: 0;
  }
  .z50.z50-menu-otvorene .z50-lista {
    height: 0;
    opacity: 0;
  }
  .z50.z50-menu-otvorene .z50-hlavicka {
    background: #0F2133;
    border-bottom-color: rgba(248, 250, 252, 0.08);
  }
  .z50.z50-menu-otvorene .z50-hlavicka .z50-menu {
    display: flex;
    animation: z50-fade 0.35s ease both;
  }
  .z50.z50-menu-otvorene .z50-menu-tlacidlo__ciary::before {
    transform: translateY(4px) rotate(45deg);
  }
  .z50.z50-menu-otvorene .z50-menu-tlacidlo__ciary::after {
    transform: translateY(-4px) rotate(-45deg);
  }
  .z50.z50-menu-otvorene .z50-hlavicka__akcie a.z50-btn {
    display: inline-flex;
    position: fixed;
    left: 24px;
    bottom: 40px;
    z-index: 2;
    padding: 15px 36px;
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .z50 .z50-hlavicka__akcie a.z50-btn {
    display: none;
  }
}
@keyframes z50-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* ---------------------------------------------------------------- päta (GP Element 694) */
.z50 {
  /* oblasti v päte s oblúkovou bodkou vo farbe oblasti */
  /* Späť hore: biely krúžok s tmavou šípkou (zadanie PM) */
}
.z50 .site-footer:not(.z50-pata) {
  display: none;
}
.z50 .z50-pata {
  background: #0B1A2B;
  border-top: 1px solid rgba(248, 250, 252, 0.1);
  padding-block: 72px 32px;
  font-size: 15px;
}
.z50 .z50-pata p {
  margin: 0;
}
.z50 .z50-pata .z50-logo {
  padding: 0;
}
.z50 .z50-pata .z50-logo img {
  width: auto;
  height: 32px;
}
.z50 .z50-pata__znacka {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(248, 250, 252, 0.1);
}
.z50 .z50-pata__znacka > .z50-stack {
  max-width: 460px;
  gap: 16px;
}
.z50 .z50-pata__znacka .z50-text, .z50 .z50-pata__znacka .z50-maly {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(248, 250, 252, 0.72);
}
.z50 .z50-pata__znacka .z50-maly a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.z50 .z50-pata__znacka a.z50-btn--obrys {
  padding: 11px 24px;
  font-size: 15px;
  border-color: rgba(248, 250, 252, 0.28);
}
.z50 .z50-pata__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.5fr) minmax(0, 1.4fr);
  gap: 44px 56px;
  padding-block: 52px;
}
.z50 .z50-pata__nav > .z50-menu, .z50 .z50-pata__nav > .z50-menu > .z50-menu__list {
  display: contents;
}
.z50 .z50-pata__nav .z50-menu__list > li {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}
.z50 .z50-pata__nav .z50-menu__list > li > a, .z50 .z50-pata .z50-pata__nadpis {
  display: block;
  margin: 0 0 6px;
  padding: 0;
  border: 0;
  font-family: "ZilinaText", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(248, 250, 252, 0.5);
}
.z50 .z50-pata__nav .z50-menu__list > li > a {
  pointer-events: none;
}
.z50 .z50-pata__nav .sub-menu {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.z50 .z50-pata__nav .sub-menu a, .z50 .z50-pata__stlpec .jet-listing-dynamic-link__link {
  display: inline-flex;
  align-items: center;
  padding-block: 3px;
  font-family: "ZilinaText", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  color: rgba(248, 250, 252, 0.86);
  text-decoration: none;
  transition: color 0.3s;
}
.z50 .z50-pata__nav .sub-menu a:hover, .z50 .z50-pata__stlpec .jet-listing-dynamic-link__link:hover {
  color: #67C1A6;
}
.z50 .z50-pata__stlpec {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.z50 .z50-pata__stlpec .jet-listing-grid__items {
  display: flex !important;
  flex-direction: column;
  gap: 8px;
}
.z50 .z50-pata__stlpec .jet-listing-grid__item {
  padding: 0 !important;
}
.z50 .z50-pata__stlpec .z50-maly {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(248, 250, 252, 0.86);
}
.z50 .z50-pata__stlpec a.z50-sipka {
  margin-top: 6px;
}
.z50 .z50-pata__odkazy .jet-listing-dynamic-link__link {
  align-items: flex-start;
}
.z50 .z50-pata__odkazy .jet-listing-dynamic-link__link::before {
  content: "";
  display: inline-block;
  flex: none;
  width: 9px;
  height: 9px;
  border-radius: 999px 999px 2px 2px;
  background: var(--z50-o, #67C1A6);
  margin: 6px 10px 0 0;
}
.z50 .z50-pata__odkazy a[href*="/oblasti/ludsky-kapital-a-talenty/"] {
  --z50-o: #FAF489;
}
.z50 .z50-pata__odkazy a[href*="/oblasti/vzdelavanie-a-univerzita/"] {
  --z50-o: #4DB2FF;
}
.z50 .z50-pata__odkazy a[href*="/oblasti/podnikanie-a-startupove-prostredie/"] {
  --z50-o: #00D2B4;
}
.z50 .z50-pata__odkazy a[href*="/oblasti/komunitny-a-kulturny-zivot/"] {
  --z50-o: #FF8F6B;
}
.z50 .z50-pata__odkazy a[href*="/oblasti/uzemny-a-priestorovy-rozvoj/"] {
  --z50-o: #8BDB7A;
}
.z50 .z50-pata__odkazy a[href*="/oblasti/regionalna-a-cezhranicna-spolupraca/"] {
  --z50-o: #B3A6FF;
}
.z50 .z50-pata__partneri {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 44px;
  padding-block: 28px;
  border-top: 1px solid rgba(248, 250, 252, 0.1);
  border-bottom: 1px solid rgba(248, 250, 252, 0.1);
}
.z50 .z50-pata__partneri .z50-pata__nadpis {
  margin: 0;
}
.z50 .z50-pata__partneri .jet-listing-grid {
  flex: 1;
}
.z50 .z50-pata__partneri .jet-listing-grid__items {
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 40px;
}
.z50 .z50-pata__partneri .jet-listing-grid__item {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}
.z50 .z50-pata__partneri img {
  height: 26px !important;
  width: auto !important;
  max-width: 150px;
  object-fit: contain;
  opacity: 0.72;
  transition: opacity 0.3s;
}
.z50 .z50-pata__partneri a:hover img {
  opacity: 1;
}
.z50 .z50-pata__spodok {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 24px;
  margin-top: 24px;
  font-size: 14px;
  color: rgba(248, 250, 252, 0.6);
}
.z50 .z50-pata__spodok a {
  display: inline-block;
  padding-block: 4px;
  color: rgba(248, 250, 252, 0.6);
  text-decoration: none;
  transition: color 0.3s;
}
.z50 .z50-pata__spodok a:hover {
  color: #FFFFFF;
}
.z50 .z50-pata__zdroje {
  margin-top: 18px;
  font-size: 12px;
  line-height: 1.6;
  color: rgba(248, 250, 252, 0.6);
}
.z50 .z50-pata__zdroje summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  list-style: none;
}
.z50 .z50-pata__zdroje summary::-webkit-details-marker {
  display: none;
}
.z50 .z50-pata__zdroje summary::after {
  content: "+";
  font-size: 15px;
  line-height: 1;
}
.z50 .z50-pata__zdroje[open] summary::after {
  content: "−";
}
.z50 .z50-pata__kredity {
  margin-top: 10px;
}
.z50 .z50-pata__kredity a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 1024px) {
  .z50 .z50-pata__nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .z50 .z50-pata {
    padding-block: 52px 28px;
  }
  .z50 .z50-pata__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 20px;
    padding-block: 40px;
  }
}
.z50 .z50-hore {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 500px;
  background: #FFFFFF;
  box-shadow: 0 14px 34px -14px rgba(5, 13, 29, 0.6);
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity 0.4s, transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
  text-decoration: none;
}
.z50 .z50-hore::before {
  content: "";
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M9 15V3M3.5 8.5L9 3l5.5 5.5' fill='none' stroke='%230A1928' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.z50 .z50-hore.is-viditelne {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.z50 .z50-hore.is-viditelne:hover {
  transform: translateY(-3px);
}
/* ---------------------------------------------------------------- karty (listingy 657, 676, 678, 679) */
.z50 {
  /* celá karta je klikateľná cez odkaz v nadpise; štítky a odkazy ostávajú nad ním */
  /* oblasť ako karta (Čo je Žilina 2050: dôvody, piliere, hodnoty) */
  /* partner: logo na dlaždici */
  /* logo na ploche karty s deliacou linkou (tmavá dlaždica by na páse sekcie splývala s pozadím) */
  /* blog */
  /* iniciátori projektu (logá) */
  /* udalosť v zozname (listing 680): riadky s tenkou linkou ako oblasti */
  /* starý riadok projektu (listing 675) – na novej homepage ho nahradil slider; ostáva čitateľný, ak by sa ešte niekde použil */
}
.z50 .jet-listing-dynamic-field__content {
  display: inline;
}
.z50 p.jet-listing-dynamic-field__content {
  margin: 0;
}
.z50 .jet-listing-dynamic-field-block:empty, .z50 .jet-listing-dynamic-link-block:empty {
  display: none;
}
.z50 .z50-karta {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  background: #2D4A68;
  color: #FFFFFF;
  transition: background-color 0.35s;
}
.z50 .z50-karta:hover {
  background: #36557A;
}
.z50 .z50-karta__foto {
  position: relative;
  aspect-ratio: 1.6;
  overflow: hidden;
  background: #1D3C59;
}
.z50 .z50-karta__foto > div, .z50 .z50-karta__foto .jet-listing-dynamic-image, .z50 .z50-karta__foto a {
  display: block;
  height: 100%;
}
.z50 .z50-karta__foto img, .z50 .z50-karta__foto .jet-listing-dynamic-image__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.86) contrast(1.03);
  transition: transform 1.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.z50 .z50-karta:hover .z50-karta__foto img {
  transform: scale(1.05);
}
.z50 .z50-karta__telo {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 26px 28px 30px;
}
.z50 .z50-karta__telo > .z50-sipka, .z50 .z50-karta__telo > a.z50-sipka {
  margin-top: auto;
  padding-top: 8px;
}
.z50 .z50-karta__nadpis, .z50 .z50-karta__nadpis a {
  margin: 0;
  font-family: "ZilinaLaubne", sans-serif;
  font-weight: 700;
  font-size: clamp(21px, 1.7vw, 25px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #FFFFFF;
  text-decoration: none;
}
.z50 .z50-karta__nadpis a {
  transition: color 0.3s;
}
.z50 .z50-karta__nadpis a:hover {
  color: #67C1A6;
}
.z50 .z50-karta__nadpis a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.z50 .z50-karta .z50-stitky, .z50 .z50-karta .z50-sipka, .z50 .z50-karta .z50-clanok__kategoria {
  position: relative;
  z-index: 2;
}
.z50 .z50-karta__perex, .z50 .z50-oblast-karta__popis, .z50 .z50-karta__telo > .z50-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(248, 250, 252, 0.72);
}
.z50 .z50-karta__meta {
  font-size: 14px;
  font-weight: 700;
  color: #67C1A6;
}
@media (max-width: 767px) {
  .z50 .z50-karta__telo {
    padding: 22px 20px 26px;
  }
}
.z50 .z50-oblast-karta {
  gap: 16px;
  padding: 30px 30px 32px;
}
.z50 .z50-oblast-karta .z50-ikona, .z50 .z50-oblast-karta > svg {
  width: 56px !important;
  height: 56px !important;
}
.z50 .z50-oblast-karta .z50-kicker {
  font-size: 13px;
}
@media (max-width: 767px) {
  .z50 .z50-oblast-karta {
    padding: 24px 22px 26px;
  }
}
.z50 .z50-partner__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1.7777777778;
  padding: 28px 32px;
  border-bottom: 1px solid rgba(248, 250, 252, 0.1);
  background: transparent;
}
.z50 .z50-partner__logo img {
  max-height: 64px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.z50 .z50-partner__logo--svetle {
  background: #FFFFFF;
  border-bottom: 0;
}
.z50 .z50-partner .z50-karta__telo {
  gap: 12px;
}
.z50 .z50-partner--hero {
  max-width: 440px;
  width: 100%;
  height: auto;
  justify-self: end;
  align-self: start;
}
.z50 .z50-partner--hero:hover {
  background: #2D4A68;
}
.z50 .z50-partner--hero .z50-partner__logo {
  aspect-ratio: 1.6;
}
.z50 .z50-partner--hero .z50-partner__logo img {
  max-height: 96px;
}
@media (max-width: 1024px) {
  .z50 .z50-partner--hero {
    justify-self: start;
  }
}
.z50 .z50-clanok__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  font-size: 13px;
  font-weight: 700;
  color: rgba(248, 250, 252, 0.6);
}
.z50 .z50-clanok__meta a, .z50 .z50-clanok__kategoria a {
  color: #67C1A6;
  font-weight: 700;
  text-decoration: none;
}
.z50 .z50-clanok__meta > *, .z50 .z50-clanok__meta .jet-listing-dynamic-terms, .z50 .z50-clanok__meta .jet-listing-dynamic-terms__link {
  margin: 0;
  padding: 0;
}
.z50 .z50-clanok__perex, .z50 .z50-clanok__perex .jet-listing-dynamic-field__inline-wrap {
  display: block;
  margin: 0;
}
.z50 .z50-clanok__perex .jet-listing-dynamic-field__content {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(248, 250, 252, 0.72);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.z50 .z50-iniciator {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
}
.z50 .z50-iniciator .jet-listing-grid__items {
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px 24px;
}
.z50 .z50-iniciator .jet-listing-grid__item {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}
.z50 .z50-iniciator img {
  height: 32px;
  width: auto;
  max-width: 150px;
  object-fit: contain;
}
.z50 .z50-udalost {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  align-items: start;
  gap: 28px;
  padding: 28px 0;
  border-top: 1px solid rgba(248, 250, 252, 0.16);
}
.z50 .jet-listing-grid__item:last-child .z50-udalost {
  border-bottom: 1px solid rgba(248, 250, 252, 0.16);
}
.z50 .z50-udalost__datum {
  padding-top: 2px;
  font-family: "ZilinaLaubne", sans-serif;
  line-height: 1.02;
  color: var(--z50-o, #67C1A6);
}
.z50 .z50-udalost__den {
  font-family: "ZilinaLaubne", sans-serif;
  font-size: 30px;
  line-height: 1.02;
  letter-spacing: -0.01em;
  color: var(--z50-o, #67C1A6);
}
.z50 .z50-udalost:has(.z50-farba-5) {
  --z50-o: #FAF489;
}
.z50 .z50-udalost:has(.z50-farba-6) {
  --z50-o: #4DB2FF;
}
.z50 .z50-udalost:has(.z50-farba-7) {
  --z50-o: #00D2B4;
}
.z50 .z50-udalost:has(.z50-farba-8) {
  --z50-o: #FF8F6B;
}
.z50 .z50-udalost:has(.z50-farba-9) {
  --z50-o: #8BDB7A;
}
.z50 .z50-udalost:has(.z50-farba-10) {
  --z50-o: #B3A6FF;
}
.z50 .z50-udalost__rok {
  margin-top: 4px;
  font-family: "ZilinaText", sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: rgba(248, 250, 252, 0.6);
}
.z50 .z50-udalost .z50-riadok {
  gap: 6px 18px;
  color: rgba(248, 250, 252, 0.72);
}
.z50 .z50-udalost a.z50-sipka {
  align-self: center;
  max-width: 280px;
  text-align: right;
  line-height: 1.35;
}
@media (max-width: 767px) {
  .z50 .z50-udalost {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 16px;
    padding: 22px 0;
  }
  .z50 .z50-udalost .z50-sipka {
    grid-column: 2;
  }
  .z50 .z50-udalost__den {
    font-size: 24px;
  }
}
.z50 .z50-prazdne, .z50 .jet-listing-not-found {
  padding: 32px;
  border: 1px dashed rgba(248, 250, 252, 0.28);
  border-radius: 16px;
  color: rgba(248, 250, 252, 0.72);
  text-align: center;
}
.z50 .jet-listing-not-found:empty {
  display: none;
}
.z50 .z50-projekt-riadok {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
}
.z50 .z50-projekt-riadok .z50-karta__foto {
  order: 2;
  aspect-ratio: auto;
  min-height: 100%;
}
.z50 .z50-projekt-riadok .z50-karta__foto > * {
  position: absolute;
  inset: 0;
}
@media (max-width: 767px) {
  .z50 .z50-projekt-riadok {
    grid-template-columns: minmax(0, 1fr);
  }
  .z50 .z50-projekt-riadok .z50-karta__foto {
    order: 0;
    aspect-ratio: 1.6;
  }
  .z50 .z50-projekt-riadok .z50-karta__foto > * {
    position: static;
  }
}
/* ---------------------------------------------------------------- karta projektu a slider (listing 795, ako /h2 v34) */
.z50 {
  /* mobil: kompaktná karta, aby nebola vyššia ako obrazovka */
  /* slider (JetEngine Listing Grid s carouselom = Swiper): karty neodseknuté, šípky vpravo dole */
  /* pri malom počte projektov JetEngine slider nezapne: rovnaké karty v statickej mriežke 2 / 2 / 1 bez šípok */
  /* slider musí byť v sekcii, ktorá neorezáva (karty presahujú doprava za okraj obsahu) */
}
.z50 .z50j-pcard {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  overflow: hidden;
  background: #2D4A68;
  color: #FFFFFF;
  transition: background-color 0.35s;
}
.z50 .z50j-pcard:hover {
  background: #36557A;
}
.z50 .z50j-pcard__foto {
  position: relative;
  aspect-ratio: 2;
  overflow: hidden;
  background: #2D4A68;
}
.z50 .z50j-pcard__foto .jet-listing-dynamic-image, .z50 .z50j-pcard__foto .jet-listing-dynamic-image__link {
  display: block;
  width: 100%;
  height: 100%;
}
.z50 .z50j-pcard__foto img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: cover;
  filter: saturate(0.86) contrast(1.03);
  transition: transform 1.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.z50 .z50j-pcard:hover .z50j-pcard__foto img {
  transform: scale(1.05);
}
.z50 .z50j-pcard__telo {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 16px;
  padding: 30px 34px 34px;
}
.z50 .z50j-pcard__nadpis {
  margin: 0;
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.z50 .z50j-pcard__nadpis a {
  color: #FFFFFF;
  text-decoration: none;
  transition: color 0.3s;
}
.z50 .z50j-pcard__nadpis a:hover {
  color: #67C1A6;
}
.z50 .z50j-pcard__perex {
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  color: rgba(248, 250, 252, 0.72);
}
.z50 .z50j-pcard__akcie {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 20px;
  margin-top: auto;
  padding-top: 22px;
  border-top: 1px solid rgba(248, 250, 252, 0.1);
}
.z50 .z50j-pcard__popis {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.3;
  color: #FFFFFF;
}
.z50 .z50j-pcard .z50j-pcard__iniciator .jet-listing-grid__items {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  margin: 0 !important;
  width: auto !important;
}
.z50 .z50j-pcard__iniciator .jet-listing-grid__item {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}
.z50 .z50j-pcard__iniciator img {
  display: block;
  height: 38px;
  width: auto;
  max-width: 150px;
  object-fit: contain;
}
.z50 .z50j-pcard__btn {
  justify-self: end;
}
.z50 .z50j-pcard__btn .jet-listing-dynamic-link__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 0;
  padding: 15px 36px;
  border: 1px solid transparent;
  border-radius: 500px;
  background: #67C1A6;
  color: #0A1928;
  font-family: "ZilinaText", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  white-space: nowrap;
}
.z50 .z50j-pcard__btn .jet-listing-dynamic-link__link:hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: #0A1928;
}
@media (max-width: 1024px) {
  .z50 .z50j-pcard__akcie {
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
  }
  .z50 .z50j-pcard__btn {
    justify-self: start;
  }
  .z50 .z50j-pcard__telo {
    padding: 26px 26px 30px;
  }
}
@media (max-width: 767px) {
  .z50 .z50j-pcard__foto {
    aspect-ratio: 2.2;
  }
  .z50 .z50j-pcard__telo {
    gap: 12px;
    padding: 18px 18px 20px;
  }
  .z50 .z50j-pcard .z50-stitky {
    gap: 6px;
  }
  .z50 .z50j-pcard .z50-stitky__link {
    padding: 4px 9px;
    font-size: 12px;
  }
  .z50 .z50j-pcard__nadpis {
    font-size: 21px;
  }
  .z50 .z50j-pcard__perex {
    font-size: 15px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .z50 .z50j-pcard__akcie {
    gap: 12px;
    padding-top: 14px;
  }
  .z50 .z50j-pcard__popis {
    display: none;
  }
  .z50 .z50j-pcard__iniciator img {
    height: 28px;
  }
  .z50 .z50j-pcard__btn .jet-listing-dynamic-link__link {
    padding: 11px 22px;
    font-size: 14px;
  }
}
.z50 .z50j-pslider .jet-listing-grid__slider.swiper {
  position: relative;
  overflow: visible;
  padding-bottom: 88px;
}
.z50 .z50j-pslider .jet-listing-grid__items.swiper-wrapper {
  display: flex !important;
  align-items: stretch;
  margin: 0 !important;
  gap: 0;
}
.z50 .z50j-pslider .jet-listing-grid__item.swiper-slide {
  height: auto;
  display: flex;
  padding: 0 !important;
  max-width: none !important;
}
.z50 .z50j-pslider .jet-listing-grid__item.swiper-slide > * {
  width: 100%;
}
.z50 .z50j-pslider .jet-listing-grid__slider-icon {
  position: absolute;
  top: auto !important;
  bottom: 0;
  left: auto !important;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin: 0 !important;
  border: 0;
  border-radius: 50%;
  background: #FFFFFF;
  color: #0A1928;
  cursor: pointer;
  transform: none !important;
  transition: background-color 0.3s, opacity 0.3s;
}
.z50 .z50j-pslider .jet-listing-grid__slider-icon svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
.z50 .z50j-pslider .jet-listing-grid__slider-icon svg path {
  fill: currentColor;
}
.z50 .z50j-pslider .jet-listing-grid__slider-icon.next-arrow svg {
  transform: rotate(180deg);
}
.z50 .z50j-pslider .jet-listing-grid__slider-icon.prev-arrow {
  right: 68px;
}
.z50 .z50j-pslider .jet-listing-grid__slider-icon.next-arrow {
  right: 0;
}
.z50 .z50j-pslider .jet-listing-grid__slider-icon:hover {
  background: #FAF489;
}
.z50 .z50j-pslider .jet-listing-grid__slider-icon.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}
.z50 .z50j-pslider .swiper:not(.swiper-initialized) {
  padding-bottom: 0;
}
.z50 .z50j-pslider .swiper:not(.swiper-initialized) > .jet-listing-grid__items {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px !important;
}
.z50 .z50j-pslider .swiper:not(.swiper-initialized) > .jet-listing-grid__items > .jet-listing-grid__item {
  width: auto !important;
  max-width: none !important;
  flex: none;
}
.z50 .z50j-pslider .swiper:not(.swiper-initialized) .jet-listing-grid__slider-icon, .z50 .z50j-pslider .swiper-button-lock {
  display: none !important;
}
@media (max-width: 767px) {
  .z50 .z50j-pslider .swiper:not(.swiper-initialized) > .jet-listing-grid__items {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px !important;
  }
}
@media (max-width: 767px) {
  .z50 .z50j-pslider .jet-listing-grid__slider.swiper {
    padding-bottom: 72px;
  }
  .z50 .z50j-pslider .jet-listing-grid__slider-icon {
    width: 48px;
    height: 48px;
  }
  .z50 .z50j-pslider .jet-listing-grid__slider-icon.prev-arrow {
    right: 58px;
  }
}
.z50 .z50-sekcia:has(.z50j-pslider) {
  overflow-x: clip;
}
/* ---------------------------------------------------------------- oblasti ako riadky Manifestu (listing 678 na stránke Oblasti) */
.z50 .jet-listing-grid .jet-listing-grid__items:has(.z50-oblast-riadok) {
  display: flex !important;
  flex-direction: column;
  gap: 0;
  border-bottom: 1px solid rgba(248, 250, 252, 0.16);
}
.z50 .z50-oblast-riadok {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 30px;
  padding-block: 32px;
  border-top: 1px solid rgba(248, 250, 252, 0.16);
  color: #FFFFFF;
}
.z50 .z50-oblast-riadok:has(a[href*="/oblasti/ludsky-kapital-a-talenty/"]) {
  --z50-o: #FAF489;
}
.z50 .z50-oblast-riadok:has(a[href*="/oblasti/vzdelavanie-a-univerzita/"]) {
  --z50-o: #4DB2FF;
}
.z50 .z50-oblast-riadok:has(a[href*="/oblasti/podnikanie-a-startupove-prostredie/"]) {
  --z50-o: #00D2B4;
}
.z50 .z50-oblast-riadok:has(a[href*="/oblasti/komunitny-a-kulturny-zivot/"]) {
  --z50-o: #FF8F6B;
}
.z50 .z50-oblast-riadok:has(a[href*="/oblasti/uzemny-a-priestorovy-rozvoj/"]) {
  --z50-o: #8BDB7A;
}
.z50 .z50-oblast-riadok:has(a[href*="/oblasti/regionalna-a-cezhranicna-spolupraca/"]) {
  --z50-o: #B3A6FF;
}
.z50 .z50-oblast-riadok__ikona {
  width: 64px;
  height: 64px;
}
.z50 .z50-oblast-riadok__ikona svg {
  display: block;
  width: 100% !important;
  height: 100% !important;
}
.z50 .z50-oblast-riadok__texty {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.z50 .z50-oblast-riadok__nazov, .z50 .z50-oblast-riadok__nazov a {
  margin: 0;
  font-family: "ZilinaLaubne", sans-serif;
  font-size: clamp(26px, 3.6vw, 52px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #FFFFFF;
  text-decoration: none;
}
.z50 .z50-oblast-riadok__nazov a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.z50 .z50-oblast-riadok__nazov {
  transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.z50 .z50-oblast-riadok:hover .z50-oblast-riadok__nazov, .z50 .z50-oblast-riadok:focus-within .z50-oblast-riadok__nazov {
  transform: translateX(6px);
}
.z50 .z50-oblast-riadok__popis {
  margin: 0;
  max-width: 720px;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(248, 250, 252, 0.72);
}
.z50 .z50-oblast-riadok__cta {
  color: var(--z50-o, #67C1A6);
  white-space: nowrap;
}
.z50 .z50-oblast-riadok__cta a, .z50 .z50-oblast-riadok__cta .jet-listing-dynamic-link__link {
  color: var(--z50-o, #67C1A6);
}
.z50 .z50-oblast-riadok:hover .z50-oblast-riadok__cta a::after {
  transform: translateX(4px);
}
@media (max-width: 767px) {
  .z50 .z50-oblast-riadok {
    grid-template-columns: 38px minmax(0, 1fr) auto;
    column-gap: 14px;
    padding-block: 22px;
    align-items: start;
  }
  .z50 .z50-oblast-riadok__ikona {
    width: 38px;
    height: 38px;
  }
  .z50 .z50-oblast-riadok__popis {
    font-size: 15px;
  }
  .z50 .z50-oblast-riadok__cta a, .z50 .z50-oblast-riadok__cta .jet-listing-dynamic-link__link {
    font-size: 0;
    gap: 0;
    min-height: 38px;
  }
  .z50 .z50-oblast-riadok__cta a::after, .z50 .z50-oblast-riadok__cta .jet-listing-dynamic-link__link::after {
    font-size: 22px;
  }
}
/* ---------------------------------------------------------------- úvod podstránky a detailu */
.z50 {
  /* detail s hlavnou fotkou (projekt, oblasť, článok): fotka cez celú šírku ako hero /h2, text dole na nej, spodok dozneje do pozadia */
  /* úvody s fotkou (podstránky z generátora): štítok nad nadpisom biely s tieňom (zelená na svetlej fotke zaniká), na mobile tmavší prechod pod textom */
  /* veľká ikona oblasti nad nadpisom (šablóna stránky oblasti, shortcode [z50_ikona]) */
  /* stránka oblasti: hlavné tlačidlo v úvode vo farbe oblasti (ako „Zistiť viac“ pri oblasti) */
  /* odrobinková navigácia */
  /* informačný panel projektu a vizitka partnera */
  /* galéria (JetEngine Grid Gallery s lightboxom) */
}
.z50 .z50-uvod {
  position: relative;
  padding-block: 72px 64px;
}
@media (max-width: 1024px) {
  .z50 .z50-uvod {
    padding-block: 56px 48px;
  }
}
@media (max-width: 767px) {
  .z50 .z50-uvod {
    padding-block: 36px 36px;
  }
}
.z50 .z50-uvod__obsah {
  display: flex;
  flex-direction: column;
  gap: 22px;
  max-width: 980px;
}
.z50 .z50-uvod__obsah > .z50-riadok {
  margin-top: 10px;
}
.z50 .z50-uvod__foto {
  margin-top: 56px;
  overflow: hidden;
  border-radius: 24px;
  aspect-ratio: 2.3333333333;
  background: #2D4A68;
}
.z50 .z50-uvod__foto > div, .z50 .z50-uvod__foto .jet-listing-dynamic-image {
  height: 100%;
}
.z50 .z50-uvod__foto img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 767px) {
  .z50 .z50-uvod__foto {
    margin-top: 32px;
    aspect-ratio: 1.3333333333;
    border-radius: 16px;
  }
}
.z50 .z50-uvod:has(.z50-uvod__foto) {
  display: flex;
  align-items: flex-end;
  min-height: 84vh;
  padding-block: 200px 72px;
  overflow: hidden;
}
.z50 .z50-uvod:has(.z50-uvod__foto) > .z50-wrap {
  position: static;
}
.z50 .z50-uvod:has(.z50-uvod__foto) .z50-uvod__obsah {
  position: relative;
  z-index: 2;
  max-width: 1040px;
}
.z50 .z50-uvod:has(.z50-uvod__foto) .z50-uvod__foto {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0;
  border-radius: 0;
  aspect-ratio: auto;
}
.z50 .z50-uvod:has(.z50-uvod__foto) .z50-uvod__foto::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(0deg, #142B41 0%, rgba(20, 43, 65, 0.94) 18%, rgba(20, 43, 65, 0.62) 46%, rgba(20, 43, 65, 0.2) 74%, rgba(20, 43, 65, 0.45) 100%);
}
.z50 .z50-uvod:has(.z50-uvod__foto) .z50-uvod__foto img {
  filter: saturate(0.9);
}
.z50 .z50-uvod:has(.z50-uvod__foto) :is(.z50-h1, .z50-perex) {
  text-shadow: 0 2px 28px rgba(5, 13, 29, 0.45);
}
.z50 .z50-uvod:has(.z50-uvod__foto) .z50-h1 {
  font-size: clamp(42px, 5.6vw, 84px);
  line-height: 1;
}
.z50 .z50-uvod:has(.z50-uvod__foto) .z50-perex {
  color: rgba(248, 250, 252, 0.88);
  font-size: 19px;
}
@media (max-width: 767px) {
  .z50 .z50-uvod:has(.z50-uvod__foto) {
    min-height: 80svh;
    padding-block: 150px 32px;
  }
  .z50 .z50-uvod:has(.z50-uvod__foto) .z50-uvod__foto {
    aspect-ratio: auto;
    border-radius: 0;
    margin: 0;
  }
  .z50 .z50-uvod:has(.z50-uvod__foto) .z50-perex {
    font-size: 17px;
  }
}
.z50 .z50p-hero [class$="__kicker"], .z50 .z50p-hero .z50p-hero__kicker, .z50 .z50-uvod:has(.z50-uvod__foto) .z50-kicker {
  color: rgba(255, 255, 255, 0.92);
  text-shadow: 0 1px 16px rgba(5, 13, 29, 0.6);
}
.z50 .z50p-hero [class$="__perex"] {
  text-shadow: 0 1px 18px rgba(5, 13, 29, 0.55);
}
@media (max-width: 767px) {
  .z50 .z50p-hero > [class$="__shade"] {
    background-image: linear-gradient(0deg, #142B41 0%, rgba(20, 43, 65, 0.95) 24%, rgba(20, 43, 65, 0.8) 52%, rgba(20, 43, 65, 0.5) 78%, rgba(20, 43, 65, 0.6) 100%);
  }
  .z50 .z50-uvod:has(.z50-uvod__foto) .z50-uvod__foto::after {
    background: linear-gradient(0deg, #142B41 0%, rgba(20, 43, 65, 0.95) 26%, rgba(20, 43, 65, 0.78) 56%, rgba(20, 43, 65, 0.5) 80%, rgba(20, 43, 65, 0.6) 100%);
  }
}
.z50 .z50-uvod__obsah > svg.z50-ikona {
  width: 72px !important;
  height: 72px !important;
  margin-bottom: 4px;
}
@media (max-width: 767px) {
  .z50 .z50-uvod__obsah > svg.z50-ikona {
    width: 56px !important;
    height: 56px !important;
  }
}
.z50.z50-oblast-5 .z50-uvod a.z50-btn:not(.z50-btn--obrys) {
  background: #FAF489;
  border-color: #FAF489;
}
.z50.z50-oblast-5 .z50-uvod a.z50-btn:not(.z50-btn--obrys):hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
}
.z50.z50-oblast-6 .z50-uvod a.z50-btn:not(.z50-btn--obrys) {
  background: #4DB2FF;
  border-color: #4DB2FF;
}
.z50.z50-oblast-6 .z50-uvod a.z50-btn:not(.z50-btn--obrys):hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
}
.z50.z50-oblast-7 .z50-uvod a.z50-btn:not(.z50-btn--obrys) {
  background: #00D2B4;
  border-color: #00D2B4;
}
.z50.z50-oblast-7 .z50-uvod a.z50-btn:not(.z50-btn--obrys):hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
}
.z50.z50-oblast-8 .z50-uvod a.z50-btn:not(.z50-btn--obrys) {
  background: #FF8F6B;
  border-color: #FF8F6B;
}
.z50.z50-oblast-8 .z50-uvod a.z50-btn:not(.z50-btn--obrys):hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
}
.z50.z50-oblast-9 .z50-uvod a.z50-btn:not(.z50-btn--obrys) {
  background: #8BDB7A;
  border-color: #8BDB7A;
}
.z50.z50-oblast-9 .z50-uvod a.z50-btn:not(.z50-btn--obrys):hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
}
.z50.z50-oblast-10 .z50-uvod a.z50-btn:not(.z50-btn--obrys) {
  background: #B3A6FF;
  border-color: #B3A6FF;
}
.z50.z50-oblast-10 .z50-uvod a.z50-btn:not(.z50-btn--obrys):hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
}
.z50.z50-oblast-5 a.z50p-oblast-hero__cta {
  background-color: #FAF489;
}
.z50.z50-oblast-5 a.z50p-oblast-hero__cta:hover {
  background-color: #FFFFFF;
}
.z50.z50-oblast-6 a.z50p-oblast-hero__cta {
  background-color: #4DB2FF;
}
.z50.z50-oblast-6 a.z50p-oblast-hero__cta:hover {
  background-color: #FFFFFF;
}
.z50.z50-oblast-7 a.z50p-oblast-hero__cta {
  background-color: #00D2B4;
}
.z50.z50-oblast-7 a.z50p-oblast-hero__cta:hover {
  background-color: #FFFFFF;
}
.z50.z50-oblast-8 a.z50p-oblast-hero__cta {
  background-color: #FF8F6B;
}
.z50.z50-oblast-8 a.z50p-oblast-hero__cta:hover {
  background-color: #FFFFFF;
}
.z50.z50-oblast-9 a.z50p-oblast-hero__cta {
  background-color: #8BDB7A;
}
.z50.z50-oblast-9 a.z50p-oblast-hero__cta:hover {
  background-color: #FFFFFF;
}
.z50.z50-oblast-10 a.z50p-oblast-hero__cta {
  background-color: #B3A6FF;
}
.z50.z50-oblast-10 a.z50p-oblast-hero__cta:hover {
  background-color: #FFFFFF;
}
.z50 .z50-drobky {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  font-weight: 700;
  color: rgba(248, 250, 252, 0.6);
}
.z50 .z50-drobky > style {
  display: none !important;
}
.z50 .z50-drobky > * {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.z50 .z50-drobky > * + *::before {
  content: "/";
  margin-right: 0;
  opacity: 0.5;
  font-weight: 400;
}
.z50 .z50-drobky li {
  list-style: none;
}
.z50 .z50-drobky li + li::before, .z50 .z50-drobky > * + * li::before {
  content: none;
}
.z50 .z50-drobky .jet-listing-dynamic-field, .z50 .z50-drobky .jet-listing-dynamic-field__content {
  display: inline;
}
.z50 .z50-drobky a {
  color: rgba(248, 250, 252, 0.8);
  text-decoration: none;
  transition: color 0.3s;
}
.z50 .z50-drobky a:hover {
  color: #67C1A6;
}
.z50 .z50-panel {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px 40px;
  padding: 32px 36px;
  border: 0;
  border-radius: 24px;
  background: #2D4A68;
}
.z50 .z50-panel.z50-stack {
  display: flex;
}
.z50 .z50-panel__polozka {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.z50 .z50-panel__hodnota {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}
.z50 .z50-panel__hodnota a {
  color: #FFFFFF;
  text-decoration: none;
  transition: color 0.3s;
}
.z50 .z50-panel__hodnota a:hover {
  color: #67C1A6;
}
.z50 .z50-panel .z50-popis {
  margin: 0;
}
@media (max-width: 767px) {
  .z50 .z50-panel {
    padding: 24px 22px;
  }
}
.z50 .z50-stav {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.z50 .z50-stav::before {
  content: "";
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #67C1A6;
  box-shadow: 0 0 0 4px rgba(103, 193, 166, 0.22);
}
.z50 .z50-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 48px 80px;
  align-items: start;
}
.z50 .z50-detail:not(:has(.z50-detail__bok > *)) {
  grid-template-columns: minmax(0, 1fr);
}
.z50 .z50-detail__bok {
  position: sticky;
  top: calc(var(--z50-bar) + 24px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (max-width: 1024px) {
  .z50 .z50-detail {
    grid-template-columns: minmax(0, 1fr);
  }
  .z50 .z50-detail__bok {
    position: static;
  }
}
.z50 .z50-galeria .jet-engine-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 16px;
  margin: 0;
}
.z50 .z50-galeria .jet-engine-gallery-grid__item {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}
.z50 .z50-galeria .jet-engine-gallery-item-wrap {
  display: block;
  overflow: hidden;
  border-radius: 16px;
  aspect-ratio: 1.3333333333;
  background: #2D4A68;
}
.z50 .z50-galeria .jet-engine-gallery-item-wrap > a, .z50 .z50-galeria .jet-engine-gallery-item-wrap picture {
  display: block;
  width: 100%;
  height: 100%;
}
.z50 .z50-galeria img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.86) contrast(1.03);
  transition: transform 1.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.z50 .z50-galeria a:hover img {
  transform: scale(1.05);
}
.z50 .z50-galeria .z50-h2 {
  font-size: clamp(30px, 3vw, 44px);
}
@media (max-width: 767px) {
  .z50 .z50-galeria .jet-engine-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px;
  }
}
/* ---------------------------------------------------------------- formulárové panely (shortcode [z50_formular]) */
.z50 {
  /* zapojenie: dvojfarebný panel ako newsletter na /h2 – žltá strana s textom, tmavá strana s formulárom */
}
.z50 .z50-interakcia {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 40px 72px;
  align-items: start;
  padding: 56px;
  border-radius: 24px;
}
.z50 .z50-interakcia .z50-h2 {
  font-size: clamp(30px, 3vw, 44px);
}
.z50 .z50-interakcia .z50-text {
  color: rgba(248, 250, 252, 0.72);
}
.z50 .z50-interakcia--karta {
  background: #2D4A68;
}
.z50 .z50-interakcia--formular, .z50 .z50-interakcia--tyrkys {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  align-items: stretch;
  background: #0B1A2B;
}
.z50 .z50-interakcia--formular > :first-child, .z50 .z50-interakcia--tyrkys > :first-child {
  justify-content: center;
  padding: 56px 48px 56px 56px;
  background: #FAF489;
  color: #0A1928;
}
.z50 .z50-interakcia--formular > :last-child, .z50 .z50-interakcia--tyrkys > :last-child {
  padding: 56px;
  background: #0B1A2B;
}
.z50 .z50-interakcia--formular > :first-child .z50-h2, .z50 .z50-interakcia--formular > :first-child .z50-text, .z50 .z50-interakcia--tyrkys > :first-child .z50-h2, .z50 .z50-interakcia--tyrkys > :first-child .z50-text {
  color: #0A1928;
}
.z50 .z50-interakcia--formular > :first-child .z50-kicker, .z50 .z50-interakcia--tyrkys > :first-child .z50-kicker {
  color: rgba(10, 25, 40, 0.7);
}
.z50 .z50-interakcia--formular > :first-child a, .z50 .z50-interakcia--tyrkys > :first-child a {
  color: #0A1928;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 1024px) {
  .z50 .z50-interakcia, .z50 .z50-interakcia--formular, .z50 .z50-interakcia--tyrkys {
    grid-template-columns: minmax(0, 1fr);
  }
  .z50 .z50-interakcia {
    padding: 40px 32px;
  }
  .z50 .z50-interakcia--formular, .z50 .z50-interakcia--tyrkys {
    padding: 0;
  }
  .z50 .z50-interakcia--formular > *, .z50 .z50-interakcia--tyrkys > * {
    padding: 40px 32px !important;
  }
}
@media (max-width: 767px) {
  .z50 .z50-interakcia {
    padding: 28px 20px;
    border-radius: 16px;
  }
  .z50 .z50-interakcia--formular, .z50 .z50-interakcia--tyrkys {
    padding: 0;
  }
  .z50 .z50-interakcia--formular > :first-child, .z50 .z50-interakcia--tyrkys > :first-child {
    padding: 30px 20px 26px !important;
  }
  .z50 .z50-interakcia--formular > :last-child, .z50 .z50-interakcia--tyrkys > :last-child {
    padding: 28px 20px 30px !important;
  }
}
.z50 .z50-kontakt-form {
  display: block;
}
.z50 .z50-hlasovanie__formular[hidden] {
  display: none;
}
.z50 .z50-interakcia .z50-stack > button.z50-btn {
  align-self: flex-start;
}
.z50 .z50-pocet {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  margin: 0;
  font-family: "ZilinaLaubne", sans-serif;
  font-size: 48px;
  line-height: 1;
  color: #67C1A6;
}
.z50 .z50-pocet small {
  font-family: "ZilinaText", sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: rgba(248, 250, 252, 0.72);
}
/* ---------------------------------------------------------------- Fluent Forms: polia o stupeň svetlejšie ako panel, žlté tlačidlo (ako newsletter /h2 v32) */
.z50 .fluentform {
  /* súhlasy (novinky, zásady ochrany OÚ): väčšie políčko zarovnané s prvým riadkom textu, súhlasy bližšie pri sebe */
}
.z50 .fluentform .ff-el-group {
  margin-bottom: 16px;
}
.z50 .fluentform .ff-el-input--label {
  margin-bottom: 8px;
}
.z50 .fluentform .ff-el-input--label label {
  margin-left: 4px;
  color: rgba(248, 250, 252, 0.75);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.z50 .fluentform .ff-el-is-required.asterisk-right label::after {
  color: #FAF489;
}
.z50 .fluentform .ff-el-form-control {
  min-height: 56px;
  padding: 14px 18px;
  border: 1px solid rgba(248, 250, 252, 0.12);
  border-radius: 12px;
  background: #1D3C59;
  color: #F8FAFC;
  font-family: "ZilinaText", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  box-shadow: none;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.z50 .fluentform .ff-el-form-control::placeholder {
  color: rgba(248, 250, 252, 0.45);
}
.z50 .fluentform .ff-el-form-control:hover {
  border-color: rgba(248, 250, 252, 0.35);
}
.z50 .fluentform .ff-el-form-control:focus {
  border-color: #FAF489;
  background: #1D3C59;
  color: #F8FAFC;
  box-shadow: 0 0 0 3px rgba(250, 244, 137, 0.22);
  outline: none;
}
.z50 .fluentform textarea.ff-el-form-control {
  min-height: 132px;
  resize: vertical;
}
.z50 .fluentform select.ff-el-form-control {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 46px;
  background: #1D3C59 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23F8FAFC' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 18px center / 14px 9px no-repeat;
}
.z50 .fluentform .ff-el-form-check-label, .z50 .fluentform .ff_tc_checkbox, .z50 .fluentform .ff-el-tc {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(248, 250, 252, 0.75);
}
.z50 .fluentform a {
  color: #FAF489;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.z50 .fluentform .ff-custom_html, .z50 .fluentform .ff-el-group .ff-custom_html p {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(248, 250, 252, 0.75);
}
.z50 .fluentform .ff-el-form-check-input {
  accent-color: #FAF489;
}
.z50 .fluentform .ff_submit_btn_wrapper, .z50 .fluentform .ff-el-group.ff_submit_btn_wrapper {
  margin-top: 24px;
  margin-bottom: 0;
}
.z50 .fluentform .ff-btn-submit, .z50 .fluentform button.ff-btn-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 0;
  padding: 15px 36px;
  border: 1px solid transparent;
  border-radius: 500px;
  background: #67C1A6;
  color: #0A1928;
  font-family: "ZilinaText", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  width: 100%;
  background: #FAF489 !important;
  border-color: #FAF489 !important;
  color: #0A1928 !important;
  opacity: 1;
}
.z50 .fluentform .ff-btn-submit:hover, .z50 .fluentform button.ff-btn-submit:hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: #0A1928;
}
.z50 .fluentform .ff-btn-submit:hover, .z50 .fluentform button.ff-btn-submit:hover {
  background: #FFFFFF !important;
  border-color: #FFFFFF !important;
}
.z50 .fluentform .ff-btn-submit:focus-visible {
  outline: 2px solid #FAF489;
  outline-offset: 3px;
}
.z50 .fluentform .ff-el-is-error .ff-el-form-control {
  border-color: #FF8F6B;
}
.z50 .fluentform .error, .z50 .fluentform .ff-el-is-error .text-danger {
  margin-top: 6px;
  color: #FFB49C;
  font-size: 14px;
}
.z50 .fluentform .ff-message-success {
  padding: 20px 24px;
  border: 0;
  border-radius: 12px;
  background: rgba(103, 193, 166, 0.16);
  color: #FFFFFF;
  box-shadow: none;
}
.z50 .fluentform .z50-suhlas {
  margin-bottom: 12px;
}
.z50 .fluentform .z50-suhlas .ff_tc_label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  cursor: pointer;
}
.z50 .fluentform .z50-suhlas .ff_tc_checkbox {
  flex: none;
  display: flex;
  padding-top: 1px;
}
.z50 .fluentform .z50-suhlas .ff-el-form-check-input {
  width: 19px;
  height: 19px;
  margin: 0;
  cursor: pointer;
}
.z50 .fluentform .z50-suhlas .ff_t_c {
  flex: 1;
  min-width: 0;
}
.z50 .fluentform .z50-suhlas .error, .z50 .fluentform .z50-suhlas .text-danger {
  margin-left: 31px;
}
/* ---------------------------------------------------------------- dáta zo Žiliny (listingy 683–685) */
.z50 {
  /* výzva na konci stránky (Projekty, Partneri, PDF dát): žltý panel s tmavým tlačidlom */
}
.z50 .z50-kpi {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  padding: 30px 30px 32px;
  border: 0;
  border-radius: 16px;
  background: #2D4A68;
}
.z50 .z50-kpi__hodnota {
  font-family: "ZilinaLaubne", sans-serif;
  font-weight: 700;
  font-size: clamp(44px, 4.4vw, 64px);
  line-height: 1;
  letter-spacing: -0.02em;
  color: #67C1A6;
}
.z50 .z50-kpi__nazov {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
}
.z50 .z50-kpi__vysvetlenie {
  font-size: 15px;
  line-height: 1.5;
  color: rgba(248, 250, 252, 0.72);
}
.z50 .z50-tema {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 40px 72px;
  padding-block: 64px;
  border-top: 1px solid rgba(248, 250, 252, 0.16);
}
.z50 .z50-tema .z50-h2 {
  font-size: clamp(30px, 3vw, 44px);
}
.z50 .z50-tema__graf {
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  background: #2D4A68;
}
.z50 .z50-tema__graf img {
  display: block;
  width: 100%;
}
.z50 .z50-tema__popis {
  padding: 14px 18px;
  font-size: 14px;
  color: rgba(248, 250, 252, 0.72);
}
.z50 .z50-tema__blok + .z50-tema__blok {
  margin-top: 28px;
}
.z50 .z50-tema__blok p {
  margin: 8px 0 0;
}
.z50 .z50-tema__blok .z50-text {
  color: rgba(248, 250, 252, 0.88);
}
@media (max-width: 1024px) {
  .z50 .z50-tema {
    grid-template-columns: minmax(0, 1fr);
    padding-block: 48px;
  }
}
.z50 .z50-stiahnut {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px 48px;
  padding: 48px 56px;
  border-radius: 24px;
  background: #FAF489;
  color: #0A1928;
}
.z50 .z50-stiahnut .z50-h3, .z50 .z50-stiahnut .z50-text, .z50 .z50-stiahnut h2, .z50 .z50-stiahnut h3 {
  color: #0A1928;
}
.z50 .z50-stiahnut .z50-text {
  max-width: 640px;
  color: rgba(10, 25, 40, 0.8);
}
.z50 .z50-stiahnut a.z50-sipka {
  color: #0A1928;
}
.z50 .z50-stiahnut a.z50-btn:not(.z50-btn--tmave), .z50 .z50-stiahnut .z50-btn:not(.z50-btn--tmave) > a {
  background: #0A1928;
  border-color: #0A1928;
  color: #FFFFFF;
}
.z50 .z50-stiahnut a.z50-btn:not(.z50-btn--tmave):hover, .z50 .z50-stiahnut .z50-btn:not(.z50-btn--tmave) > a:hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: #0A1928;
}
@media (max-width: 767px) {
  .z50 .z50-stiahnut {
    padding: 30px 22px;
    border-radius: 16px;
  }
}
.z50 .z50-rocniky .jet-listing-grid__items {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
}
.z50 .z50-rocniky .jet-listing-grid__item {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}
.z50 .z50-rocnik a {
  display: inline-flex;
  align-items: center;
  padding: 8px 18px;
  border: 1px solid rgba(248, 250, 252, 0.28);
  border-radius: 500px;
  color: #FFFFFF;
  font-weight: 700;
  text-decoration: none;
  transition: border-color 0.3s, background-color 0.3s;
}
.z50 .z50-rocnik a:hover {
  border-color: #67C1A6;
  color: #FFFFFF;
}
.z50 .z50-rocnik a[aria-current], .z50 .z50-rocnik.is-aktivny a {
  background: #67C1A6;
  border-color: #67C1A6;
  color: #0A1928;
}
/* zberová stránka nemá hlavičku webu, preto bez odsadenia pre ňu */
.z50 .site:has(.z50p--zber) {
  padding-top: 0;
}
/* zber kontaktov (Chcem sa zapojiť): na fotke pod závojom, pole cez celú šírku s textom v strede, popis poľa len pre čítačky, súhlas vľavo, tlačidlo v strede */
.z50 .z50-zber-form .fluentform .ff-el-input--label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.z50 .z50-zber-form .fluentform .ff-el-form-control {
  min-height: 64px;
  text-align: center;
  border-color: rgba(248, 250, 252, 0.38);
  background: rgba(10, 25, 40, 0.55);
  font-size: 17px;
}
.z50 .z50-zber-form .fluentform .ff-el-form-control:focus {
  background: rgba(10, 25, 40, 0.72);
}
.z50 .z50-zber-form .fluentform .ff-el-tc, .z50 .z50-zber-form .fluentform .ff-el-form-check-label {
  text-align: left;
  font-size: 13px;
}
.z50 .z50-zber-form .fluentform .ff-el-tc a, .z50 .z50-zber-form .fluentform .ff-el-form-check-label a {
  color: #FFFFFF;
  text-decoration: underline;
}
.z50 .z50-zber-form .fluentform .z50-suhlas .error, .z50 .z50-zber-form .fluentform .z50-suhlas .text-danger {
  text-align: left;
}
.z50 .z50-zber-form .fluentform .ff_submit_btn_wrapper {
  text-align: center;
}
.z50 .z50-zber-form .fluentform .ff-btn-submit, .z50 .z50-zber-form .fluentform button.ff-btn-submit {
  width: auto;
  min-width: 240px;
}
.z50 .z50-zber-form .fluentform .ff-message-success {
  text-align: center;
  font-size: 17px;
}
/* ---------------------------------------------------------------- dátová správa (listing 685 z generátora, ukazovatele 683, témy 684) */
.z50 {
  /* ukazovatele ako riadky: veľká hodnota (farby oblastí sa striedajú), názov a vysvetlenie */
  /* témy: číslovanie 01, 02… nad nadpisom témy */
}
.z50 .z50p-data__title :is(h1, .jet-listing-dynamic-field__content) {
  margin: 0;
  font-family: "ZilinaLaubne", sans-serif;
  font-size: clamp(40px, 4.8vw, 72px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: #FFFFFF;
  text-wrap: balance;
}
.z50 .z50p-data__perex .jet-listing-dynamic-field__content {
  margin: 0;
  max-width: 620px;
  font-size: 19px;
  line-height: 1.6;
  color: rgba(248, 250, 252, 0.8);
}
.z50 .z50p-data__chip-hodnota, .z50 .z50p-data__chip-hodnota .jet-listing-dynamic-field__content {
  color: #FFFFFF;
}
.z50 .z50p-data-zaver__nadpis :is(h2, .jet-listing-dynamic-field__content) {
  margin: 0;
  font-family: "ZilinaLaubne", sans-serif;
  font-size: clamp(34px, 3.6vw, 52px);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: #0A1928;
}
.z50 .z50p-data-zaver__perex .jet-listing-dynamic-field__content {
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(10, 25, 40, 0.85);
}
.z50 .z50p-data .z50-maly {
  margin: 0;
  color: rgba(248, 250, 252, 0.72);
}
.z50 .z50p-data-zaver__text .z50-maly {
  color: rgba(10, 25, 40, 0.7);
}
.z50 .z50-ukazovatele .jet-listing-grid__items {
  display: flex !important;
  flex-direction: column;
  gap: 0;
  border-bottom: 1px solid rgba(248, 250, 252, 0.16);
}
.z50 .z50-ukazovatel {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr);
  gap: 12px 56px;
  align-items: center;
  padding-block: 36px;
  border-top: 1px solid rgba(248, 250, 252, 0.16);
}
.z50 .z50-ukazovatel__hodnota .jet-listing-dynamic-field__content {
  font-family: "ZilinaLaubne", sans-serif;
  font-weight: 700;
  font-size: clamp(56px, 7vw, 112px);
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: var(--z50-o, #67C1A6);
  white-space: nowrap;
}
.z50 .z50-ukazovatele .jet-listing-grid__item:nth-child(6n + 1) {
  --z50-o: #FAF489;
}
.z50 .z50-ukazovatele .jet-listing-grid__item:nth-child(6n + 2) {
  --z50-o: #4DB2FF;
}
.z50 .z50-ukazovatele .jet-listing-grid__item:nth-child(6n + 3) {
  --z50-o: #00D2B4;
}
.z50 .z50-ukazovatele .jet-listing-grid__item:nth-child(6n + 4) {
  --z50-o: #FF8F6B;
}
.z50 .z50-ukazovatele .jet-listing-grid__item:nth-child(6n + 5) {
  --z50-o: #8BDB7A;
}
.z50 .z50-ukazovatele .jet-listing-grid__item:nth-child(6n + 6) {
  --z50-o: #B3A6FF;
}
.z50 .z50-ukazovatel__texty {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.z50 .z50-ukazovatel__nazov :is(h3, .jet-listing-dynamic-field__content) {
  margin: 0;
  font-family: "ZilinaLaubne", sans-serif;
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #FFFFFF;
}
.z50 .z50-ukazovatel__vysvetlenie .jet-listing-dynamic-field__content {
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  color: rgba(248, 250, 252, 0.72);
}
@media (max-width: 767px) {
  .z50 .z50-ukazovatel {
    grid-template-columns: minmax(0, 1fr);
    padding-block: 26px;
  }
}
.z50 .z50-temy .jet-listing-grid__items {
  display: flex !important;
  flex-direction: column;
  gap: 0;
  counter-reset: z50-tema;
}
.z50 .z50-temy .z50-tema {
  counter-increment: z50-tema;
}
.z50 .z50-temy .z50-tema > :first-child::before {
  content: counter(z50-tema,decimal-leading-zero);
  display: block;
  margin-bottom: 14px;
  font-family: "ZilinaLaubne", sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #FAF489;
}
/* ---------------------------------------------------------------- detaily stavané ako /h2 (šablóny 698, 704, 706, 720 z generátora gen_web.py) */
.z50 {
  /* hero detailu s fotkou z JetEngine (hlavný obrázok alebo pole Fotka) */
  /* fotky kariet a slidera vyplnia rám aj cez obaly JetEngine (fotky na výšku inak ukázali len horný okraj) */
  /* archív kategórie blogu: názov a popis kategórie z WordPressu v úvode s fotkou, pilulky kategórií (aktuálna biela) */
  /* informačný pás projektu: iniciátor, stav, hlasy */
  /* bočný panel detailu: karty (podujatia, zdieľanie, obsah článku, výzva) */
  /* zdieľanie (shortcode [z50_zdielat]) */
  /* hlasovanie (shortcode [z50_formular typ="hlasovanie"]): text a počítadlo vľavo, formulár s jedným tlačidlom vpravo */
  /* galéria projektu sa skryje, ak projekt nemá fotky */
  /* filtre: „Zrušiť filtre“ s ikonou krížika */
}
.z50 .z50p-dhero__photo :is(.jet-listing-dynamic-image, a, picture) {
  display: block;
  width: 100%;
  height: 100%;
}
.z50 .z50p-dhero__photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: cover;
}
.z50 .z50j-pcard__foto img, .z50 .z50-karta__foto img {
  position: absolute;
  inset: 0;
}
.z50.z50-oblast-5 {
  --z50-oblast: #FAF489;
}
.z50.z50-oblast-6 {
  --z50-oblast: #4DB2FF;
}
.z50.z50-oblast-7 {
  --z50-oblast: #00D2B4;
}
.z50.z50-oblast-8 {
  --z50-oblast: #FF8F6B;
}
.z50.z50-oblast-9 {
  --z50-oblast: #8BDB7A;
}
.z50.z50-oblast-10 {
  --z50-oblast: #B3A6FF;
}
.z50 .z50p-dhero__title :is(h1, .jet-listing-dynamic-field__content) {
  margin: 0;
  max-width: 1100px;
  font-family: "ZilinaLaubne", sans-serif;
  font-size: clamp(42px, 5.8vw, 92px);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.025em;
  color: #FFFFFF;
  text-wrap: balance;
  text-shadow: 0 2px 28px rgba(5, 13, 29, 0.45);
}
.z50 .z50p-dhero__perex .jet-listing-dynamic-field__content {
  margin: 0;
  max-width: 680px;
  font-size: 20px;
  line-height: 1.55;
  color: rgba(248, 250, 252, 0.88);
  text-shadow: 0 1px 18px rgba(5, 13, 29, 0.55);
}
.z50 .z50p-dhero__crumb-title .jet-listing-dynamic-field__content, .z50 .z50p-dhero__crumb-title {
  color: #FFFFFF;
}
.z50 .z50p-dhero__meta {
  color: rgba(248, 250, 252, 0.86);
}
.z50 .z50p-dhero__meta .jet-listing-dynamic-field__content, .z50 .z50p-dhero__meta .z50-cas-citania {
  font-size: 14px;
  font-weight: 700;
}
.z50 .z50p-dhero__meta .z50-clanok__kategoria a {
  color: #FAF489;
}
.z50 .z50p-dhero .z50-stitky {
  margin-bottom: 4px;
}
.z50 .z50p-archiv-hero__title {
  margin: 0;
  max-width: 1100px;
  font-family: "ZilinaLaubne", sans-serif;
  font-size: clamp(46px, 6.2vw, 96px);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.025em;
  color: #FFFFFF;
  text-wrap: balance;
  text-shadow: 0 2px 28px rgba(5, 13, 29, 0.45);
}
.z50 .z50p-archiv-hero__perex {
  max-width: 640px;
  font-size: 20px;
  line-height: 1.55;
  color: rgba(248, 250, 252, 0.88);
  text-shadow: 0 1px 18px rgba(5, 13, 29, 0.55);
}
.z50 .z50p-archiv-hero__perex p {
  margin: 0;
}
.z50 .z50-kategorie {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.z50 .z50-kategorie-nav__vsetky, .z50 .z50-kategorie a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 20px;
  border: 1px solid rgba(248, 250, 252, 0.28);
  border-radius: 500px;
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: border-color 0.3s, background-color 0.3s, color 0.3s;
}
.z50 .z50-kategorie-nav__vsetky:hover, .z50 .z50-kategorie a:hover {
  border-color: #67C1A6;
  color: #FFFFFF;
}
.z50 .z50-kategorie .current-cat > a {
  border-color: #FFFFFF;
  background: #FFFFFF;
  color: #0A1928;
}
@media (max-width: 767px) {
  .z50 .z50p-archiv-hero__perex {
    font-size: 17px;
  }
}
.z50 .z50p-dhero > [class$="__inner"] > svg.z50-ikona {
  width: 72px !important;
  height: 72px !important;
}
@media (max-width: 767px) {
  .z50 .z50p-dhero__perex .jet-listing-dynamic-field__content {
    font-size: 17px;
  }
  .z50 .z50p-dhero > [class$="__inner"] > svg.z50-ikona {
    width: 56px !important;
    height: 56px !important;
  }
}
.z50 .z50p-info .z50-iniciator .jet-listing-grid__items {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 28px;
}
.z50 .z50p-info .z50-iniciator img, .z50 .z50p-info .z50-logo-odkaz img {
  height: 40px;
  max-width: 170px;
}
.z50 .z50p-info__stav {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  font-family: "ZilinaLaubne", sans-serif;
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 700;
  line-height: 1.15;
  color: #FFFFFF;
}
.z50 .z50p-info__stav::before {
  content: "";
  flex: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #67C1A6;
  box-shadow: 0 0 0 5px rgba(103, 193, 166, 0.22);
}
.z50 .z50p-info__stav-doplnok .jet-listing-dynamic-field__content {
  font-family: "ZilinaText", sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: rgba(248, 250, 252, 0.72);
}
@media (min-width: 1025px) {
  .z50 .z50p-info:not(:has(> :nth-child(3))) {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.8fr);
  }
}
.z50 .z50p-info__stav.z50p-projekt-info__ukonceny::before {
  background: rgba(248, 250, 252, 0.6);
  box-shadow: 0 0 0 5px rgba(248, 250, 252, 0.12);
}
.z50 .z50p-projekt-ukonceny .z50-ukoncenie {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #FFFFFF;
}
.z50 .z50p-info__hlasy .jet-listing-dynamic-field__content {
  font-family: "ZilinaLaubne", sans-serif;
  font-size: clamp(48px, 5vw, 72px);
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.03em;
  color: #FAF489;
}
.z50 .z50p-bok .z50-udalost {
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 14px;
  padding-block: 16px;
}
.z50 .z50p-bok .z50-udalost .z50-sipka, .z50 .z50p-bok .z50-udalost a.z50-sipka {
  grid-column: 2;
  justify-self: start;
  text-align: left;
}
.z50 .z50p-bok .z50-udalost__den {
  font-size: 22px;
}
.z50 .z50p-bok .z50-udalost .z50-h3 {
  font-size: 18px;
}
.z50 .z50p-bok .jet-listing-grid__item:last-child .z50-udalost {
  border-bottom: 0;
}
.z50 .z50p-bok-karta:not(:has(.jet-listing-grid__item, .z50-zdielat, .z50-obsah-clanku, a)) {
  display: none;
}
.z50 .z50p-toc[hidden] {
  display: none !important;
}
.z50 .z50-obsah-clanku {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: z50-toc;
}
.z50 .z50-obsah-clanku li {
  margin: 0;
  counter-increment: z50-toc;
}
.z50 .z50-obsah-clanku a {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 6px;
  padding: 9px 10px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: rgba(248, 250, 252, 0.78);
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s;
}
.z50 .z50-obsah-clanku a::before {
  content: counter(z50-toc,decimal-leading-zero);
  font-family: "ZilinaLaubne", sans-serif;
  color: rgba(248, 250, 252, 0.4);
}
.z50 .z50-obsah-clanku a:hover, .z50 .z50-obsah-clanku a.is-aktivny {
  background: rgba(248, 250, 252, 0.06);
  color: #FFFFFF;
}
.z50 .z50-obsah-clanku a.is-aktivny::before {
  color: #FAF489;
}
.z50 .z50p-clanok__obsah h2 {
  scroll-margin-top: 120px;
}
.z50 .z50-zdielat {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.z50 .z50-zdielat__nadpis {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(248, 250, 252, 0.55);
}
.z50 .z50-zdielat__zoznam {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.z50 .z50-zdielat__zoznam li {
  margin: 0;
}
.z50 .z50-zdielat__odkaz {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(248, 250, 252, 0.28);
  border-radius: 50%;
  background: transparent;
  color: #FFFFFF;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}
.z50 .z50-zdielat__odkaz:hover, .z50 .z50-zdielat__odkaz.is-skopirovane {
  background: #67C1A6;
  border-color: #67C1A6;
  color: #0A1928;
}
.z50 .z50-zdielat__stav {
  margin: 0;
  min-height: 1.2em;
  font-size: 13px;
  font-weight: 700;
  color: #67C1A6;
}
.z50 .z50-zdielat__stav:empty {
  display: none;
}
.z50 .z50-hlasovanie {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 40px 72px;
  align-items: center;
  padding: 56px;
  border-radius: 24px;
  background: #2D4A68;
}
.z50 .z50-hlasovanie__info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.z50 .z50-hlasovanie__info .z50-h2 {
  font-size: clamp(30px, 3vw, 44px);
}
.z50 .z50-hlasovanie__info .z50-text {
  color: rgba(248, 250, 252, 0.72);
  max-width: 520px;
}
.z50 .z50-hlasovanie__pocitadlo {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 8px;
  padding-top: 24px;
  border-top: 1px solid rgba(248, 250, 252, 0.1);
}
.z50 .z50-hlasovanie__cislo {
  font-family: "ZilinaLaubne", sans-serif;
  font-size: clamp(64px, 7vw, 104px);
  font-weight: 700;
  line-height: 0.85;
  letter-spacing: -0.03em;
  color: #FAF489;
}
.z50 .z50-hlasovanie__slovo {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: "ZilinaLaubne", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
  color: #FFFFFF;
}
.z50 .z50-hlasovanie__slovo small {
  font-family: "ZilinaText", sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: rgba(248, 250, 252, 0.72);
}
.z50 .z50-hlasovanie__formular {
  padding: 36px;
  border-radius: 20px;
  background: #0B1A2B;
}
@media (max-width: 1024px) {
  .z50 .z50-hlasovanie {
    grid-template-columns: minmax(0, 1fr);
    padding: 40px 32px;
  }
}
@media (max-width: 767px) {
  .z50 .z50-hlasovanie {
    padding: 28px 20px;
    border-radius: 16px;
  }
  .z50 .z50-hlasovanie__formular {
    padding: 24px 18px;
  }
}
.z50 .z50p-galeria:not(:has(img)) {
  display: none;
}
.z50 .z50-filter .jet-remove-all-filters__button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 4px;
  text-decoration: none;
}
.z50 .z50-filter .jet-remove-all-filters__button::before {
  content: "";
  flex: none;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(103, 193, 166, 0.5);
  border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' fill='none' stroke='%2367C1A6' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center / 12px no-repeat;
  transition: background-color 0.3s, border-color 0.3s;
}
.z50 .z50-filter .jet-remove-all-filters__button:hover::before {
  border-color: #67C1A6;
  background-color: rgba(103, 193, 166, 0.16);
}
/* ---------------------------------------------------------------- mriežka JetEngine ako CSS grid (stĺpce podľa nastavenia bloku); slider (Swiper) si šírky snímok riadi sám */
.z50 .jet-listing-grid__items:not(.swiper-wrapper) {
  display: grid !important;
  gap: 20px;
  width: auto !important;
  margin: 0 !important;
  --columns-gap: 20px;
}
.z50 .jet-listing-grid__item:not(.swiper-slide) {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}
.z50 .jet-listing-grid__item > *:only-child {
  height: 100%;
}
.z50 .jet-listing-grid__items.grid-col-desk-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.z50 .jet-listing-grid__items.grid-col-desk-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.z50 .jet-listing-grid__items.grid-col-desk-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.z50 .jet-listing-grid__items.grid-col-desk-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.z50 .jet-listing-grid__items.grid-col-desk-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.z50 .jet-listing-grid__items.grid-col-desk-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (max-width: 1024px) {
  .z50 .jet-listing-grid__items.grid-col-tablet-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .z50 .jet-listing-grid__items.grid-col-tablet-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .z50 .jet-listing-grid__items.grid-col-tablet-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .z50 .jet-listing-grid__items.grid-col-tablet-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .z50 .jet-listing-grid__items.grid-col-tablet-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .z50 .jet-listing-grid__items.grid-col-tablet-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .z50 .jet-listing-grid__items.grid-col-mobile-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .z50 .jet-listing-grid__items.grid-col-mobile-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .z50 .jet-listing-grid__items.grid-col-mobile-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .z50 .jet-listing-grid__items.grid-col-mobile-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .z50 .jet-listing-grid__items.grid-col-mobile-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .z50 .jet-listing-grid__items.grid-col-mobile-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .z50 .jet-listing-grid__items {
    gap: 14px;
  }
}
.z50 .z50-pas .jet-listing-grid__items, .z50 .z50-iniciator .jet-listing-grid__items, .z50 .z50-rocniky .jet-listing-grid__items {
  display: flex !important;
}
.z50 .jet-listing-grid__loader, .z50 .jet-listing-grid--loading {
  opacity: 0.6;
}
.z50 .jet-listing-grid__more {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}
/* ---------------------------------------------------------------- filtre oblastí (JetSmartFilters): pilulky s bodkou oblasti, vybraná je plná vo farbe oblasti */
.z50 .z50-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin-bottom: 40px;
  /* partneri vo filtri (vzťah, name related_children*…): jednofarebné svetlomodré pilulky bez bodky a rámika, aby sa odlíšili od oblastí; vybraný je biely */
}
.z50 .z50-filter .jet-smart-filters-checkboxes, .z50 .z50-filter .jet-smart-filters-radio, .z50 .z50-filter .jet-filter {
  margin: 0;
}
.z50 .z50-filter .jet-checkboxes-list-wrapper, .z50 .z50-filter .jet-radio-list-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.z50 .z50-filter .jet-checkboxes-list__row, .z50 .z50-filter .jet-radio-list__row {
  margin: 0 !important;
}
.z50 .z50-filter .jet-checkboxes-list__item, .z50 .z50-filter .jet-radio-list__item {
  position: relative;
  display: block;
  margin: 0;
  cursor: pointer;
}
.z50 .z50-filter .jet-checkboxes-list__input, .z50 .z50-filter .jet-radio-list__input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.z50 .z50-filter .jet-checkboxes-list__button, .z50 .z50-filter .jet-radio-list__button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin: 0;
  padding: 10px 18px;
  border: 1px solid rgba(248, 250, 252, 0.28);
  border-radius: 500px;
  background: transparent;
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  transition: border-color 0.3s, background-color 0.3s, color 0.3s;
}
.z50 .z50-filter .jet-checkboxes-list__button::before, .z50 .z50-filter .jet-radio-list__button::before {
  content: "";
  display: inline-block;
  flex: none;
  width: 9px;
  height: 9px;
  border-radius: 999px 999px 2px 2px;
  background: var(--z50-o, #67C1A6);
  transition: background-color 0.3s;
}
.z50 .z50-filter .jet-checkboxes-list__item:hover .jet-checkboxes-list__button, .z50 .z50-filter .jet-radio-list__item:hover .jet-radio-list__button {
  border-color: var(--z50-o, #67C1A6);
}
.z50 .z50-filter .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button, .z50 .z50-filter .jet-radio-list__input:checked + .jet-radio-list__button {
  border-color: var(--z50-o, #67C1A6);
  background: var(--z50-o, #67C1A6);
  color: #0A1928;
}
.z50 .z50-filter .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button::before, .z50 .z50-filter .jet-radio-list__input:checked + .jet-radio-list__button::before {
  background: #0A1928;
}
.z50 .z50-filter .jet-checkboxes-list__input:focus-visible + .jet-checkboxes-list__button, .z50 .z50-filter .jet-radio-list__input:focus-visible + .jet-radio-list__button {
  outline: 2px solid #67C1A6;
  outline-offset: 3px;
}
.z50 .z50-filter :is(.jet-checkboxes-list__input, .jet-radio-list__input)[value="5"] + * {
  --z50-o: #FAF489;
}
.z50 .z50-filter :is(.jet-checkboxes-list__input, .jet-radio-list__input)[value="6"] + * {
  --z50-o: #4DB2FF;
}
.z50 .z50-filter :is(.jet-checkboxes-list__input, .jet-radio-list__input)[value="7"] + * {
  --z50-o: #00D2B4;
}
.z50 .z50-filter :is(.jet-checkboxes-list__input, .jet-radio-list__input)[value="8"] + * {
  --z50-o: #FF8F6B;
}
.z50 .z50-filter :is(.jet-checkboxes-list__input, .jet-radio-list__input)[value="9"] + * {
  --z50-o: #8BDB7A;
}
.z50 .z50-filter :is(.jet-checkboxes-list__input, .jet-radio-list__input)[value="10"] + * {
  --z50-o: #B3A6FF;
}
.z50 .z50-filter .jet-checkboxes-list__decorator, .z50 .z50-filter .jet-radio-list__decorator {
  display: none;
}
.z50 .z50-filter .jet-checkboxes-list__label, .z50 .z50-filter .jet-radio-list__label {
  margin: 0;
}
.z50 .z50-filter .jet-remove-all-filters__button {
  min-height: 44px;
  padding: 10px 6px;
  border: 0;
  background: transparent;
  color: #67C1A6;
  font-family: "ZilinaText", sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.z50 .z50-filter .jet-remove-all-filters__button:hover {
  color: #FFFFFF;
  background: transparent;
}
.z50 .z50-filter .jet-filter-label {
  display: none;
}
.z50 .z50-filter .jet-checkboxes-list__input[name^="related_"] + .jet-checkboxes-list__button {
  border-color: transparent;
  background: #3B6088;
}
.z50 .z50-filter .jet-checkboxes-list__input[name^="related_"] + .jet-checkboxes-list__button::before {
  content: none;
}
.z50 .z50-filter .jet-checkboxes-list__item:hover .jet-checkboxes-list__input[name^="related_"] + .jet-checkboxes-list__button {
  border-color: transparent;
  background: #46709D;
}
.z50 .z50-filter .jet-checkboxes-list__input[name^="related_"]:checked + .jet-checkboxes-list__button {
  border-color: transparent;
  background: #FFFFFF;
  color: #0A1928;
}
/* panel filtrov na podstránkach (Projekty, Partneri): riadky Oblasť / Partner bez vlastného odsadenia */
.z50 .z50p .z50-filter {
  margin-bottom: 0;
}
/* ---------------------------------------------------------------- kalendár (JetEngine) */
.z50 .z50-kalendar .jet-calendar-caption {
  display: table-caption;
  caption-side: top;
}
.z50 .z50-kalendar .jet-calendar-caption__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}
.z50 .z50-kalendar .jet-calendar-caption__name {
  font-family: "ZilinaLaubne", sans-serif;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-transform: capitalize;
}
.z50 .z50-kalendar .jet-calendar-nav {
  display: flex;
  gap: 10px;
}
.z50 .z50-kalendar .jet-calendar-nav__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: #FFFFFF;
  color: #0A1928;
  cursor: pointer;
  transition: background-color 0.3s;
}
.z50 .z50-kalendar .jet-calendar-nav__link:hover {
  background: #FAF489;
  color: #0A1928;
}
.z50 .z50-kalendar .jet-calendar-nav__link svg, .z50 .z50-kalendar .jet-calendar-nav__link path {
  fill: currentColor;
}
.z50 .z50-kalendar .jet-calendar-grid {
  width: 100%;
  border-collapse: separate;
  border-spacing: 6px;
  table-layout: fixed;
}
.z50 .z50-kalendar .jet-calendar-header__week-day {
  padding: 8px;
  border: 0;
  background: transparent;
  font-size: 13px;
  font-weight: 700;
  text-align: left;
  color: rgba(248, 250, 252, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.z50 .z50-kalendar .jet-calendar-week__day {
  vertical-align: top;
  height: 120px;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: #2D4A68;
}
.z50 .z50-kalendar .jet-calendar-week__day.day-pad {
  background: transparent;
  border-color: transparent;
}
.z50 .z50-kalendar .jet-calendar-week__day.current-day {
  border-color: #67C1A6;
}
.z50 .z50-kalendar .jet-calendar-week__day-date {
  font-size: 14px;
  font-weight: 700;
  color: rgba(248, 250, 252, 0.8);
}
.z50 .z50-kalendar .jet-calendar-week__day.has-events .jet-calendar-week__day-date {
  color: #67C1A6;
}
.z50 .z50-kalendar .jet-calendar-week__day-event {
  margin-top: 8px;
}
.z50 .z50-kalendar .z50-kal-udalost a, .z50 .z50-kalendar .z50-kal-udalost__odkaz {
  display: block;
  padding: 6px 8px;
  border-radius: 8px;
  background: rgba(103, 193, 166, 0.18);
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s;
}
.z50 .z50-kalendar .z50-kal-udalost a:hover {
  background: #67C1A6;
  color: #0A1928;
}
.z50 .z50-kalendar span.z50-kal-udalost__odkaz {
  background: rgba(248, 250, 252, 0.08);
}
.z50 .z50-kalendar .z50-kal-udalost__odkaz[class*="z50-farba-"] {
  background: var(--z50-o);
  color: #0A1928;
}
.z50 .z50-kalendar a.z50-kal-udalost__odkaz[class*="z50-farba-"]:hover {
  background: #FFFFFF;
  color: #0A1928;
}
@media (max-width: 767px) {
  .z50 .z50-kalendar .jet-calendar-grid {
    border-spacing: 3px;
  }
  .z50 .z50-kalendar .jet-calendar-header__week-day {
    padding: 4px;
    font-size: 11px;
    letter-spacing: 0;
  }
  .z50 .z50-kalendar .jet-calendar-week__day {
    height: 56px;
    padding: 6px;
    border-radius: 8px;
  }
  .z50 .z50-kalendar .z50-kal-udalost a, .z50 .z50-kalendar .z50-kal-udalost__odkaz {
    height: 6px;
    margin-top: 4px;
    padding: 0;
    background: #67C1A6;
    font-size: 0;
  }
  .z50 .z50-kalendar .z50-kal-udalost__odkaz[class*="z50-farba-"] {
    background: var(--z50-o);
  }
}
.z50 .z50-kalendar + .z50-stack .z50-h2, .z50 .z50-stack > .z50-h2:only-of-type {
  font-size: clamp(30px, 3vw, 44px);
}
/* ---------------------------------------------------------------- pás log partnerov: stuha v tóne letáku */
.z50 .z50-pas {
  position: relative;
  overflow: hidden;
  padding-block: 32px;
  background: #1D3C59;
}
.z50 .z50-pas__draha {
  display: flex;
  width: max-content;
  animation: z50-pas 115s linear infinite;
}
.z50 .z50-pas:hover .z50-pas__draha {
  animation-play-state: paused;
}
.z50 .z50-pas .jet-listing-grid__items {
  flex-wrap: nowrap !important;
  gap: 72px;
  padding-right: 72px;
}
.z50 .z50-pas .jet-listing-grid__item {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}
.z50 .z50-pas .z50-logo-odkaz img {
  height: 34px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
  opacity: 0.9;
}
@keyframes z50-pas {
  to {
    transform: translateX(-50%);
  }
}
/* ---------------------------------------------------------------- drobnosti listingov */
.z50 {
  /* nadpisy z dynamických polí preberajú veľkosť z triedy bloku, nie z témy */
}
.z50 .z50-logo-odkaz {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.z50 .z50-logo-odkaz img {
  height: 32px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
}
.z50 .z50-logo-odkaz--svetle {
  padding: 6px 10px;
  border-radius: 8px;
  background: #FFFFFF;
}
.z50 .z50-osoba {
  padding: 20px 0;
  border-bottom: 1px solid rgba(248, 250, 252, 0.1);
}
.z50 .z50-osoba .z50-maly {
  color: rgba(248, 250, 252, 0.72);
}
.z50 .z50-medialny {
  margin-top: 8px;
  padding-top: 24px;
  border-top: 1px solid rgba(248, 250, 252, 0.1);
}
.z50 .z50-medialny .z50-logo-odkaz img {
  height: 40px;
  max-width: 200px;
}
.z50 .z50-stack:has(> .jet-listing-grid--blocks .jet-listing-not-found:empty) {
  display: none;
}
.z50 :is(.z50-h1, .z50-h2, .z50-h3) > .jet-listing-dynamic-field :is(h1, h2, h3, h4) {
  margin: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-wrap: balance;
}
/* ---------------------------------------------------------------- sociálne siete (shortcode [z50_socialne]) */
.z50 .z50-socialne {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.z50 .z50-socialne li {
  margin: 0;
}
.z50 .z50-socialne__odkaz {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(248, 250, 252, 0.28);
  border-radius: 500px;
  color: #FFFFFF;
  text-decoration: none;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}
.z50 .z50-socialne__odkaz:hover {
  background: #67C1A6;
  border-color: #67C1A6;
  color: #0A1928;
}
.z50 .z50-socialne--text .z50-socialne__odkaz {
  width: auto;
  padding: 0 20px 0 16px;
  font-weight: 700;
  font-size: 15px;
}
/* ---------------------------------------------------------------- kontaktné osoby (shortcode [z50_kontakt_osoby]) */
.z50 .z50-osoby {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.z50 .z50-osoba-karta {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0;
  padding: 26px 28px;
  border-radius: 16px;
  background: #2D4A68;
}
.z50 .z50-osoba-karta__iniciala {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 999px 999px 8px 8px;
  background: #FAF489;
  color: #0A1928;
  font-family: "ZilinaLaubne", sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.z50 .z50-osoba-karta--0 .z50-osoba-karta__iniciala {
  background: #FAF489;
}
.z50 .z50-osoba-karta--1 .z50-osoba-karta__iniciala {
  background: #4DB2FF;
}
.z50 .z50-osoba-karta--2 .z50-osoba-karta__iniciala {
  background: #00D2B4;
}
.z50 .z50-osoba-karta--3 .z50-osoba-karta__iniciala {
  background: #FF8F6B;
}
.z50 .z50-osoba-karta--4 .z50-osoba-karta__iniciala {
  background: #8BDB7A;
}
.z50 .z50-osoba-karta--5 .z50-osoba-karta__iniciala {
  background: #B3A6FF;
}
.z50 .z50-osoba-karta__texty {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.z50 .z50-osoba-karta__meno {
  margin: 0;
  font-family: "ZilinaLaubne", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #FFFFFF;
}
.z50 .z50-osoba-karta__funkcia {
  margin: 0;
  font-size: 15px;
  color: rgba(248, 250, 252, 0.72);
}
.z50 .z50-osoba-karta__odkaz {
  font-size: 15px;
  font-weight: 700;
  color: #67C1A6;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.z50 .z50-osoba-karta__odkaz:hover {
  color: #FFFFFF;
}
@media (max-width: 1024px) {
  .z50 .z50-osoby {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .z50 .z50-osoby {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .z50 .z50-osoba-karta {
    padding: 20px;
  }
}
/* ---------------------------------------------------------------- oblasti partnera ako rad oblúkových bodiek (shortcode [z50_oblasti_bodky]) */
.z50 .z50-bodky {
  display: flex;
  align-items: center;
  gap: 12px;
}
.z50 .z50-bodky__rad {
  display: flex;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.z50 .z50-bodky__bodka {
  width: 12px;
  height: 12px;
  margin: 0;
  border-radius: 999px 999px 3px 3px;
  background: rgba(248, 250, 252, 0.14);
}
.z50 .z50-bodky__bodka--5.is-aktivna {
  background: #FAF489;
}
.z50 .z50-bodky__bodka--6.is-aktivna {
  background: #4DB2FF;
}
.z50 .z50-bodky__bodka--7.is-aktivna {
  background: #00D2B4;
}
.z50 .z50-bodky__bodka--8.is-aktivna {
  background: #FF8F6B;
}
.z50 .z50-bodky__bodka--9.is-aktivna {
  background: #8BDB7A;
}
.z50 .z50-bodky__bodka--10.is-aktivna {
  background: #B3A6FF;
}
.z50 .z50-bodky__pocet {
  font-size: 13px;
  font-weight: 700;
  color: rgba(248, 250, 252, 0.72);
}
/* ---------------------------------------------------------------- ikony (animácia ako v /h2) */
.z50 .z50j-ico * {
  transform-box: fill-box;
  transform-origin: center;
}
.z50 .z50j-ico .g {
  transform-origin: 50% 100%;
}
.z50.is-ready .z50j-ico .d {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.z50.is-ready .z50j-ico .p, .z50.is-ready .z50j-ico .g, .z50.is-ready .z50j-ico .r {
  opacity: 0;
}
.z50 .z50j-play .d {
  animation: z50-draw 1.1s cubic-bezier(0.6, 0, 0.2, 1) var(--d, 0s) forwards;
}
.z50 .z50j-play .p {
  animation: z50-pop 0.7s cubic-bezier(0.2, 1.5, 0.4, 1) var(--d, 0s) forwards;
}
.z50 .z50j-play .g {
  animation: z50-grow 0.8s cubic-bezier(0.2, 0.9, 0.3, 1) var(--d, 0s) forwards;
}
.z50 .z50j-play .r {
  animation: z50-rise 0.8s cubic-bezier(0.2, 0.9, 0.3, 1) var(--d, 0s) forwards;
}
@keyframes z50-draw {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes z50-pop {
  from {
    opacity: 0;
    transform: scale(0);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes z50-grow {
  from {
    opacity: 0;
    transform: scaleY(0);
  }
  to {
    opacity: 1;
    transform: scaleY(1);
  }
}
@keyframes z50-rise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
/* ---------------------------------------------------------------- newsletter v článkoch (vzor 719) */
/* nový vzhľad: dvojfarebný panel ako na /h2 (žltá strana s textom, tmavá s formulárom SmartEmailing) */
.z50 {
  /* ilustrácia: pri zobrazení sa telefón usadí a obálky priletia, potom telefón pláva, obálky sa hojdajú, riadky listu sa píšu (ako /h2 v34) */
  /* pôvodný vzor (tyrkysová sekcia s kartou) ostáva čitateľný, kým sa vzor nevymení */
}
.z50 .z50-newsletter {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  overflow: hidden;
  border-radius: 24px;
}
.z50 .z50-newsletter__text {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(170px, 15vw, 230px);
  align-items: center;
  gap: 18px 32px;
  padding: 56px 48px 56px 56px;
  background: #FAF489;
  color: #0A1928;
}
.z50 .z50-newsletter__copy {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.z50 .z50-newsletter__text .z50-h2 {
  font-size: clamp(38px, 4.2vw, 60px);
}
.z50 .z50-newsletter__ilu {
  position: relative;
  width: 100%;
  pointer-events: none;
}
.z50 .z50-newsletter__text .z50-kicker, .z50 .z50-newsletter__text .z50-h2, .z50 .z50-newsletter__text .z50-text, .z50 .z50-newsletter__text .z50-perex {
  color: #0A1928;
}
.z50 .z50-newsletter__text .z50-kicker {
  color: rgba(10, 25, 40, 0.7);
}
.z50 .z50-newsletter__text .z50-perex {
  color: rgba(10, 25, 40, 0.85);
}
.z50 .z50-newsletter__poznamka {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: rgba(10, 25, 40, 0.65);
}
.z50 .z50-newsletter__karta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  padding: 56px;
  background: #0B1A2B;
  color: #FFFFFF;
  box-shadow: none;
  border-radius: 0;
}
.z50 .z50-newsletter__karta .z50-maly {
  margin: 0;
  font-size: 13px;
  color: rgba(248, 250, 252, 0.6);
}
.z50 .z50-newsletter__karta .z50-maly a {
  color: #FAF489;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 1024px) {
  .z50 .z50-newsletter {
    grid-template-columns: minmax(0, 1fr);
  }
  .z50 .z50-newsletter__text {
    grid-template-columns: minmax(0, 1fr) 190px;
  }
  .z50 .z50-newsletter__text, .z50 .z50-newsletter__karta {
    padding: 40px 32px;
  }
}
@media (max-width: 767px) {
  .z50 .z50-newsletter {
    border-radius: 16px;
  }
  .z50 .z50-newsletter__text {
    grid-template-columns: minmax(0, 1fr);
    padding: 30px 20px 26px;
  }
  .z50 .z50-newsletter__ilu {
    width: 200px;
    justify-self: center;
    margin-top: 4px;
  }
  .z50 .z50-newsletter__karta {
    padding: 28px 20px 30px;
  }
}
.z50 .z50n * {
  transform-box: fill-box;
}
.z50 .z50n .z50n-body {
  transform-origin: 50% 60%;
}
.z50 .z50n .z50n-ring, .z50 .z50n .z50n-btn, .z50 .z50n .z50n-cam, .z50 .z50n .z50n-fly-l, .z50 .z50n .z50n-fly-r {
  transform-origin: 50% 50%;
}
.z50 .z50n .z50n-line {
  transform-origin: 0 50%;
}
.z50.is-ready .z50-newsletter .z50j-anim:not(.is-in) .z50n :is(.z50n-body, .z50n-fly-l, .z50n-fly-r) {
  opacity: 0;
}
.z50 .z50-newsletter .z50j-anim.is-in .z50n .z50n-body {
  animation: z50n-in 0.9s cubic-bezier(0.2, 0.9, 0.3, 1.2) both, z50n-float 6s ease-in-out 1s infinite;
}
.z50 .z50-newsletter .z50j-anim.is-in .z50n .z50n-fly-l {
  animation: z50n-in-l 1s cubic-bezier(0.2, 0.9, 0.3, 1) 0.35s both, z50n-sway-l 4.6s ease-in-out 1.4s infinite;
}
.z50 .z50-newsletter .z50j-anim.is-in .z50n .z50n-fly-r {
  animation: z50n-in-r 1s cubic-bezier(0.2, 0.9, 0.3, 1) 0.5s both, z50n-sway-r 5.2s ease-in-out 1.6s infinite;
}
.z50 .z50-newsletter .z50j-anim.is-in .z50n .z50n-line {
  animation: z50n-write 4.2s cubic-bezier(0.5, 0, 0.3, 1) calc(1s + var(--i) * .18s) infinite;
}
.z50 .z50-newsletter .z50j-anim.is-in .z50n .z50n-ring {
  animation: z50n-spin 7s linear 1s infinite;
}
.z50 .z50-newsletter .z50j-anim.is-in .z50n .z50n-btn {
  animation: z50n-press 4.2s ease-in-out 2.2s infinite;
}
.z50 .z50-newsletter .z50j-anim.is-in .z50n .z50n-cam {
  animation: z50n-blink 3.4s ease-in-out 1.2s infinite;
}
.z50 .z50-sekcia--tyrkys .z50-newsletter__karta {
  border-radius: 24px;
}
@keyframes z50n-in {
  from {
    opacity: 0;
    transform: translateY(24px) rotate(-4deg) scale(0.92);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes z50n-in-l {
  from {
    opacity: 0;
    transform: translate(-50px, 30px) rotate(-18deg);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes z50n-in-r {
  from {
    opacity: 0;
    transform: translate(50px, -30px) rotate(18deg);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes z50n-float {
  0%, 100% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-7px) rotate(-1.2deg);
  }
}
@keyframes z50n-sway-l {
  0%, 100% {
    transform: translate(0, 0) rotate(0);
  }
  50% {
    transform: translate(-4px, -9px) rotate(-6deg);
  }
}
@keyframes z50n-sway-r {
  0%, 100% {
    transform: translate(0, 0) rotate(0);
  }
  50% {
    transform: translate(5px, -8px) rotate(5deg);
  }
}
@keyframes z50n-write {
  0% {
    transform: scaleX(0);
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
  30% {
    transform: scaleX(1);
  }
  82% {
    transform: scaleX(1);
    opacity: 1;
  }
  100% {
    transform: scaleX(1);
    opacity: 0;
  }
}
@keyframes z50n-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes z50n-press {
  0%, 86%, 100% {
    transform: scale(1);
  }
  92% {
    transform: scale(0.82);
  }
}
@keyframes z50n-blink {
  0%, 90%, 100% {
    transform: scale(1);
  }
  95% {
    transform: scale(0.4);
  }
}
/* formulár SmartEmailing (prebíja globálne štýly starého webu a štýly SE) */
body.z50 .z50-newsletter__karta #se-webform-1.se-webform {
  all: unset;
  display: block;
  width: 100% !important;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-webform-inner {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-header, body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-body::before {
  display: none;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-body ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-body li {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-body li:has(input[name="fields[df_emailaddress]"]) {
  grid-column: 1 / -1;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-body li::after {
  filter: brightness(0) invert(1);
  opacity: 0.6;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-label {
  margin: 0 0 0 4px;
  color: rgba(248, 250, 252, 0.75);
  font-size: 13px;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-body ul li input[type="text"], body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-body ul li input[type="email"] {
  min-height: 56px;
  height: 56px;
  padding: 0 18px;
  padding-right: 18px !important;
  border: 1px solid rgba(248, 250, 252, 0.12);
  border-radius: 12px;
  background: #1D3C59;
  color: #F8FAFC;
  font-family: "ZilinaText", sans-serif;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-body ul li input[type="text"]:hover, body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-body ul li input[type="email"]:hover {
  border-color: rgba(248, 250, 252, 0.35);
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-body ul li input[type="text"]:focus, body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-body ul li input[type="email"]:focus {
  border-color: #FAF489;
  background: #1D3C59;
  box-shadow: 0 0 0 3px rgba(250, 244, 137, 0.22);
  outline: none;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-submit {
  margin-top: 22px;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-submit button {
  width: 100%;
  height: auto;
  padding: 15px 36px;
  border: 0;
  border-radius: 500px;
  background: #FAF489;
  color: #0A1928;
  font-family: "ZilinaText", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
  transition: background-color 0.3s;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-submit button:hover {
  background: #FFFFFF;
}
body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-submit button:focus-visible {
  outline: 2px solid #FAF489;
  outline-offset: 3px;
}
@media (max-width: 480px) {
  body.z50 .z50-newsletter__karta #se-webform-1.se-webform .se-body ul {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* ---------------------------------------------------------------- nová homepage (636): koreň .z50j z /h2 pod hlavičkou GP */
.z50 {
  /* bez vysunutia Čo je cez obraz (mobil, dotykové zariadenia) hero plynulo dozneje do pozadia */
}
.z50 .z50j-about {
  overflow-x: clip;
}
.z50 .z50j:not(.is-flow) .z50h-hero__stage::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  height: 140px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(20, 43, 65, 0), #142B41);
}
/* ---------------------------------------------------------------- obmedzený pohyb */
@media (prefers-reduced-motion: reduce) {
  .z50.is-ready .z50j-ico .d {
    stroke-dashoffset: 0;
  }
  .z50.is-ready .z50j-ico .p, .z50.is-ready .z50j-ico .g, .z50.is-ready .z50j-ico .r {
    opacity: 1;
  }
  .z50 .z50j-play * {
    animation: none !important;
  }
  .z50 .z50-pas__draha {
    animation: none;
    width: auto;
  }
  .z50 .z50-pas__draha > *:nth-child(2) {
    display: none;
  }
  .z50 .z50-pas .jet-listing-grid__items {
    flex-wrap: wrap !important;
    justify-content: center;
  }
  .z50 .z50-hlavicka-obal, .z50 .z50-hore, .z50 .z50-lista, .z50 .z50j-pcard__foto img, .z50 .z50-karta__foto img, .z50 .z50-oblast-riadok__nazov {
    transition: none;
  }
  .z50 .z50-hlavicka .z50-menu {
    animation: none !important;
  }
  .z50 .z50-newsletter .z50n * {
    animation: none !important;
  }
}
/* ---------------------------------------------------------------- stránkovanie zoznamov (JetSmartFilters) a archív projektov */
.z50 .z50-strankovanie .jet-filters-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 8px 0 0;
  padding: 0;
}
.z50 .z50-strankovanie .jet-filters-pagination__item {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
.z50 .z50-strankovanie .jet-filters-pagination__link, .z50 .z50-strankovanie .jet-filters-pagination__dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(248, 250, 252, 0.28);
  border-radius: 500px;
  background: transparent;
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.3s, background-color 0.3s, color 0.3s;
}
.z50 .z50-strankovanie .jet-filters-pagination__link:hover {
  border-color: #67C1A6;
  color: #FFFFFF;
}
.z50 .z50-strankovanie .jet-filters-pagination__current .jet-filters-pagination__link {
  border-color: #FFFFFF;
  background: #FFFFFF;
  color: #0A1928;
  cursor: default;
}
.z50 .z50-strankovanie .jet-filters-pagination__dots {
  border-color: transparent;
  cursor: default;
}
/* archív projektov sa ukáže, len keď má (aj po filtrovaní) aspoň jeden projekt */
.z50 .z50p-proj-archiv:not(:has(.jet-listing-grid__item)) {
  display: none;
}
/* ukončený projekt (archív) je mierne vyšedený: karta tmavšia, fotka takmer čiernobiela, štítky tlmené, tlačidlo obrysové; aj úvodná fotka detailu */
.z50 .z50j-pcard:has(.z50-stitky__item--ukonceny) {
  background: #263F5A;
}
.z50 .z50j-pcard:has(.z50-stitky__item--ukonceny):hover {
  background: #2D4A68;
}
.z50 .z50j-pcard:has(.z50-stitky__item--ukonceny) .z50j-pcard__foto img {
  filter: grayscale(1) contrast(0.95);
  opacity: 0.7;
  transition: transform 1.4s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.4s, opacity 0.4s;
}
.z50 .z50j-pcard:has(.z50-stitky__item--ukonceny):hover .z50j-pcard__foto img {
  filter: grayscale(0.4);
  opacity: 0.9;
}
.z50 .z50j-pcard:has(.z50-stitky__item--ukonceny) .z50-stitky__link {
  filter: saturate(0.35);
  opacity: 0.85;
}
.z50 .z50j-pcard:has(.z50-stitky__item--ukonceny) .z50j-pcard__nadpis, .z50 .z50j-pcard:has(.z50-stitky__item--ukonceny) .z50j-pcard__nadpis a {
  color: rgba(248, 250, 252, 0.82);
}
.z50 .z50j-pcard:has(.z50-stitky__item--ukonceny) .z50j-pcard__btn .jet-listing-dynamic-link__link {
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(248, 250, 252, 0.4);
  color: #FFFFFF;
}
.z50 .z50j-pcard:has(.z50-stitky__item--ukonceny) .z50j-pcard__btn .jet-listing-dynamic-link__link:hover {
  background: #FFFFFF;
  box-shadow: none;
  color: #0A1928;
}
.z50.z50-projekt-ukonceny .z50p-dhero__photo img {
  filter: grayscale(0.85);
}
/* archív na stránke Projekty je kompaktný: tri karty vedľa seba, bez perexu a iniciátora, namiesto tlačidla textový odkaz */
.z50 .z50p-proj-archiv {
  /* spodok karty oddelený slabou čiarou cez celú šírku, v ňom tichý biely odkaz so šípkou › (ako päta karty) */
  /* selektor prebije aj štýl vyšedenej karty a krúžok so šípkou spoločných tlačidiel */
  /* mobil: riadky s malou fotkou vľavo, z oblastí ostáva len štítok Ukončený (oblasti ukazuje filter) */
}
.z50 .z50p-proj-archiv .z50j-pcard__foto {
  aspect-ratio: 2;
}
.z50 .z50p-proj-archiv .z50j-pcard__telo {
  gap: 12px;
  padding: 22px 24px 24px;
}
.z50 .z50p-proj-archiv .z50j-pcard__nadpis, .z50 .z50p-proj-archiv .z50j-pcard__nadpis .jet-listing-dynamic-field__content {
  font-size: 21px;
  line-height: 1.2;
}
.z50 .z50p-proj-archiv .z50j-pcard__perex, .z50 .z50p-proj-archiv .z50j-pcard__iniciator, .z50 .z50p-proj-archiv .z50j-pcard__akcie > .z50j-pcard__popis {
  display: none;
}
.z50 .z50p-proj-archiv .z50j-pcard__akcie {
  display: block;
  margin: auto -24px -24px;
  padding: 16px 24px 18px;
  border-top: 1px solid rgba(248, 250, 252, 0.1);
}
.z50 .z50p-proj-archiv .z50j-pcard__btn {
  justify-self: start;
}
.z50 .z50p-proj-archiv .z50j-pcard:has(.z50-stitky__item) .z50j-pcard__btn .jet-listing-dynamic-link__link {
  gap: 8px;
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: rgba(248, 250, 252, 0.82);
  font-size: 15px;
  font-weight: 700;
}
.z50 .z50p-proj-archiv .z50j-pcard:has(.z50-stitky__item) .z50j-pcard__btn .jet-listing-dynamic-link__link::before {
  content: none;
  display: none;
}
.z50 .z50p-proj-archiv .z50j-pcard:has(.z50-stitky__item) .z50j-pcard__btn .jet-listing-dynamic-link__link::after {
  content: "›";
  order: 3;
  position: static;
  display: inline;
  width: auto;
  height: auto;
  margin: 0;
  border: 0;
  background: none;
  opacity: 1;
  font-size: 1.3em;
  line-height: 1;
  transform: none;
  animation: none;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.z50 .z50p-proj-archiv .z50j-pcard:has(.z50-stitky__item) .z50j-pcard__btn .jet-listing-dynamic-link__link:hover {
  background: none;
  box-shadow: none;
  color: #FFFFFF;
}
.z50 .z50p-proj-archiv .z50j-pcard:has(.z50-stitky__item) .z50j-pcard__btn .jet-listing-dynamic-link__link:hover::after {
  transform: translateX(3px);
}
@media (max-width: 767px) {
  .z50 .z50p-proj-archiv .z50j-pcard {
    flex-direction: row;
    align-items: stretch;
  }
  .z50 .z50p-proj-archiv .z50j-pcard__foto {
    flex: 0 0 96px;
    aspect-ratio: auto;
  }
  .z50 .z50p-proj-archiv .z50j-pcard__telo {
    gap: 8px;
    min-width: 0;
    padding: 14px 16px 16px;
  }
  .z50 .z50p-proj-archiv .z50j-pcard__akcie {
    margin: auto -16px -16px;
    padding: 10px 16px 12px;
  }
  .z50 .z50p-proj-archiv .z50j-pcard__nadpis, .z50 .z50p-proj-archiv .z50j-pcard__nadpis .jet-listing-dynamic-field__content {
    font-size: 17px;
  }
  .z50 .z50p-proj-archiv .z50-stitky__item:not(.z50-stitky__item--ukonceny) {
    display: none;
  }
}
/* ---------------------------------------------------------------- cookie lišta Complianz v dizajne webu
   Platí na celom webe vrátane starých stránok (snippet sa načítava všade). Prebíja farby a tvary z nastavení Complianzu cez jeho CSS premenné;
   texty lišty sa menia v Complianz → Consent Banner → Texts. */
#cmplz-cookiebanner-container .cmplz-cookiebanner, #cmplz-manage-consent .cmplz-manage-consent {
  --cmplz_banner_background_color: #0F2133;
  --cmplz_banner_border_color: #2D4A68;
  --cmplz_banner_border_radius: 16px;
  --cmplz_banner_border_width: 1px;
  --cmplz_banner_width: 470px;
  --cmplz_text_color: #FFFFFF;
  --cmplz_hyperlink_color: #67C1A6;
  --cmplz_text_font_size: 14px;
  --cmplz_title_font_size: 20px;
  --cmplz_link_font_size: 14px;
  --cmplz_button_font_size: 15px;
  --cmplz_button_border_radius: 500px;
  --cmplz_button_accept_background_color: #67C1A6;
  --cmplz_button_accept_border_color: #67C1A6;
  --cmplz_button_accept_text_color: #0A1928;
  --cmplz_button_deny_background_color: transparent;
  --cmplz_button_deny_border_color: rgba(248, 250, 252, .55);
  --cmplz_button_deny_text_color: #FFFFFF;
  --cmplz_button_settings_background_color: transparent;
  --cmplz_button_settings_border_color: rgba(248, 250, 252, .28);
  --cmplz_button_settings_text_color: #FFFFFF;
  --cmplz_slider_active_color: #67C1A6;
  --cmplz_slider_inactive_color: #3B5673;
  --cmplz_slider_bullet_color: #FFFFFF;
  --cmplz_category_header_always_active_color: #67C1A6;
  --cmplz_category_header_title_font_size: 15px;
  --cmplz_category_body_font_size: 13px;
  font-family: "ZilinaText", sans-serif;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner {
  box-shadow: 0 28px 70px -24px rgba(5, 13, 29, 0.75);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
  justify-content: space-between;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
  font-family: "ZilinaLaubne", sans-serif;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-align: left;
  color: #FFFFFF;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close {
  color: #FFFFFF;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close svg path {
  fill: currentColor;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message p {
  line-height: 1.55;
  color: rgba(248, 250, 252, 0.85);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
  height: auto;
  min-height: 46px;
  padding: 12px 20px;
  border-width: 1px;
  font-family: "ZilinaText", sans-serif;
  font-weight: 700;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: #0A1928;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:hover, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences:hover, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences:hover {
  border-color: #FFFFFF;
  background: rgba(248, 250, 252, 0.06);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category {
  border-radius: 12px;
  background: #16304A;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title {
  font-weight: 700;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents .cmplz-link, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link {
  font-weight: 700;
  text-decoration: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents .cmplz-link:hover, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link:hover {
  color: #FFFFFF;
}
/* na desktope vľavo dole, aby nekolidovala s tlačidlom Späť hore vpravo */
@media (min-width: 768px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom-right {
    right: auto;
    left: var(--cmplz_banner_margin);
  }
}
#cmplz-manage-consent .cmplz-manage-consent {
  font-family: "ZilinaText", sans-serif;
  font-weight: 700;
}
/* nový web má „Nastavenia cookies“ v päte, plávajúce tlačidlo by na mobile zakrývalo obsah; na starých stránkach ostáva (jediná cesta k zmene súhlasu) */
@media (max-width: 767px) {
  body.z50 #cmplz-manage-consent .cmplz-manage-consent {
    display: none !important;
  }
}
