/*!
Theme Name: charita
Theme URI: https://charita.sk/
Author: cverna
Author URI: https://cverna.sk/
Description: Theme for Charita
Version: 1.0
Text Domain: charita
*/

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ---- Accessibility ---- */

/* Screen reader only */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Focus visible — viditeľný outline pre klávesnicových používateľov */
:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary-1, #8a1d03);
  outline-offset: 2px;
}

/* Skip link focus target — bez outline ringu */
main:focus {
  outline: none;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---- /Accessibility ---- */

html {
  scroll-behavior: smooth;
  scroll-padding-top: 2em;
  background-color: var(--wp--preset--color--gray-1);
}
body {
  max-width: 2100px;
  margin: 0 auto;
}
main {
  background-color: #fff;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: var(--wp--custom--spacing--size-m);
  font-family: var(--wp--preset--font-family--nadpisove-pismo);
}

p.has-velkost-h-1-font-size,
p.has-velkost-h-2-font-size,
p.has-velkost-h-3-font-size,
p.has-velkost-h-4-font-size,
p.has-velkost-h-5-font-size,
p.has-velkost-h-6-font-size {
  line-height: 1.1;
  font-weight: 600;
}

img,
video {
  width: 100%;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

strong {
  font-weight: 600;
}

#skiptocontent a {
  position: absolute;
  top: -90px;
  left: 0;
  color: var(--wp--preset--color--white);
  background: var(--wp--preset--color--primary-1);
  transition: top 1s ease-out;
  z-index: 10000;
  display: inline-block;
  padding: 7px;
}

#skiptocontent a:focus {
  top: 0;
}

main ul.wp-block-list,
main ol.wp-block-list {
  margin-left: 1.25rem !important;
}

hr.wp-block-separator {
  margin-top: var(--wp--custom--spacing--size-xl-2-xl) !important;
  margin-bottom: var(--wp--custom--spacing--size-xl-2-xl) !important;
  background-color: var(--wp--preset--color--gray-4);
  border: none;
  height: 1px;
}

address {
  font-style: normal;
}

input,
select,
button,
textarea {
  border-radius: var(--wp--custom--layout--radius);
  border: 1px solid rgba(230, 230, 230, 1);
  font-size: var(--wp--custom--typography--step-0);
  font-family: var(--wp--preset--font-family--bezny-text);
  padding: var(--wp--custom--spacing--size-2-xs);
  width: 100%;
}
input[type="checkbox"] {
  width: auto;
  height: 20px;
  width: 20px;
  accent-color: var(--wp--preset--color--primary-1); /* farba zaškrtnutia */
  cursor: pointer;
}
/* 1. Finálny dizajn selectov pre Charita.sk */
select {
  /* Vypnutie natívneho vzhľadu OS */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  /* Dizajn boxu */
  background-color: #ffffff;

  /* Typografia */
  font-size: 16px;
  font-weight: 400;
  /* Vrátil som na 400 (normálne), aby to pôsobilo jemnejšie ako na obrázku */
  line-height: 1.5;
  color: #000000;

  /* Rozmery */
  padding: 12px 45px 12px 25px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  cursor: pointer;

  /* NOVÁ ŠÍPKA: Farba #8A1D03 */
  /* Všimnite si v kóde nižšie časť stroke='%238A1D03' - to je vaša farba */
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A1D03' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 16px auto;
}

/* 2. Stav po kliknutí (Focus) */
select:focus {
  border-color: #8a1d03;
}

select:focus-visible {
  outline: 2px solid #8a1d03;
  outline-offset: 2px;
}

/* 3. Fix pre IE */
select::-ms-expand {
  display: none;
}

select#filter-district,
select#filter-target-group,
select#filter-service,
button#filter-button,
input[type="submit"] {
  width: auto;
}
.cky-btn,
.cky-accordion-btn,
.cky-show-desc-btn {
  width: auto;
}
.cky-btn-accept,
.cky-btn-reject {
  background: var(--wp--preset--color--primary-4) !important;
}
.cky-btn-customize,
.cky-btn-accept,
.cky-btn-reject,
.cky-btn-preferences {
  border-color: var(--wp--preset--color--primary-4) !important;
  color: #000 !important;
}
button.cky-btn-revisit:hover {
  background-color: transparent !important;
}
.hero-carousel__pause {
  display: none !important;
}
label {
  color: var(--wp--preset--color--black);
  font-weight: 400;
  margin-bottom: var(--wp--custom--spacing--size-s);
  display: block;
  text-align: left;
}

header {
  padding: var(--wp--custom--spacing--size-xs-s) var(--wp--custom--layout--edge);
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  background-color: var(--wp--preset--color--white);
  border-bottom: 0.5px solid var(--wp--preset--color--gray-3);
}

.cverna-header-logo,
.cverna-footer-logo {
  width: 144px;
}

header > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.wp-block-button a,
button,
input[type="submit"] {
  background-color: var(--wp--preset--color--primary-1);
  border: none;
  color: var(--wp--preset--color--white);
  text-decoration: none;
  padding: var(--wp--custom--spacing--size-s) var(--wp--custom--spacing--size-s);
  font-weight: 600;
  line-height: 1;
  font-family: var(--wp--preset--font-family--bezny-text);
  font-size: 14px;
  display: inline-block;
  text-transform: uppercase;
}

input[type="submit"],
.wp-block-button a {
  border-radius: 2rem !important;
  margin-top: var(--wp--custom--spacing--size-m);
}

.wp-block-button a:hover,
button:hover,
input[type="submit"]:hover {
  background-color: var(--wp--preset--color--gray-3) !important;
  color: var(--wp--preset--color--primary-1) !important;
}

blockquote.wp-block-quote {
  border-left: none;
  margin: 0 0 1.75em;
  padding-left: 0 !important;
  border: none !important;
}

blockquote > p {
  display: flex;
  flex-direction: column;
  gap: var(--wp--custom--spacing--size-xs);
  color: var(--wp--preset--color--primary-1);
  font-weight: 600;
  margin-bottom: 0;
  font-size: var(--wp--preset--font-size--velkost-h-6);
  font-family: var(--wp--preset--font-family--nadpisove-pismo);
}

blockquote > p:before {
  content: "“ ";
  width: 60px;
  height: 40px;
  color: var(--wp--preset--color--primary-1);
  display: block;
  font-size: var(--wp--preset--font-size--velkost-h-1);
  line-height: 1;
}

blockquote cite {
  color: var(--wp--preset--color--primary-1) !important;
  font-size: var(--wp--custom--typography--step-0) !important;
}

.wp-block-embed__wrapper iframe {
  aspect-ratio: 16 / 9;
  width: 100% !important;
  height: auto;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  /* Pomer strán 16:9 */
  height: 0;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wp-block-group.is-style-sivy-box-s-paddingom {
  background-color: var(--wp--preset--color--gray-1);
  padding: var(--wp--custom--spacing--size-m-l);
}

.wp-block-column.is-style-sivy-box-s-paddingom {
  background-color: var(--wp--preset--color--gray-1);
  padding: var(--wp--custom--spacing--size-m-l);
}

.is-style-sivy-box-s-paddingom img {
  max-width: var(--wp--custom--spacing--size-3-xl) !important;
}

/**
 * Skupina s obmedzeným rozložením vnútri karty.
 *
 * WordPress jej deťom pridáva `margin-inline: auto`. Karta je flexbox stĺpec,
 * takže krátke bloky — nadpis, šípkový odkaz — sa tým vycentrujú, kým dlhý
 * odstavec ostane vľavo a zarovnania sa rozídu. Vnútri karty má byť všetko
 * na jednej línii.
 */
.is-style-sivy-box-s-paddingom .wp-block-group.is-layout-constrained > * {
  /* WordPress tu má `margin-inline: auto !important`, inak sa neprebije */
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/**
 * Skok na kotvu a lepivá hlavička.
 *
 * Hlavička ostáva prilepená hore (87 px na desktope, 78 na mobile), takže bez
 * odsadenia by cieľ kotvy skončil pod ňou. Necháme si aj rezervu, nech nadpis
 * nezačína tesne pod hranou.
 */
:root {
  --cv-odsadenie-kotvy: 7rem;
}

@media (max-width: 700px) {
  :root {
    --cv-odsadenie-kotvy: 6.5rem;
  }
}

main [id] {
  scroll-margin-top: var(--cv-odsadenie-kotvy);
}

/**
 * Hero s obsahom stránky — tretí typ hero sekcie.
 *
 * Pre dlhé návody a rozcestníky, kde fotka nepomáha: vľavo nadpis a perex,
 * vpravo zoznam sekcií stránky. Človek hneď vidí, čo ho čaká, a vie preskočiť
 * na to, čo hľadá.
 */
.cv-obsah-stranky {
  padding: var(--wp--custom--spacing--size-m-l);
  background: var(--wp--preset--color--white);
  border-radius: var(--wp--custom--layout--radius);
}

.cv-obsah-stranky > p:first-child {
  margin: 0 0 var(--wp--custom--spacing--size-s);
  font-family: Roboto, sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gray-5);
}

.cv-obsah-stranky ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: cv-obsah;
}

.cv-obsah-stranky ol li {
  counter-increment: cv-obsah;
  display: flex;
  gap: 0.55rem;
  padding: 0.6rem 0;
  border-top: 1px solid var(--wp--preset--color--gray-3);
}

.cv-obsah-stranky ol li:first-child {
  padding-top: 0;
  border-top: 0;
}

.cv-obsah-stranky ol li::before {
  content: counter(cv-obsah) ".";
  flex: 0 0 auto;
  color: var(--wp--preset--color--gray-5);
}

.cv-obsah-stranky ol li::marker {
  content: none;
}

.cv-obsah-stranky ol a {
  color: var(--wp--preset--color--primary-1);
  text-decoration: none;
}

.cv-obsah-stranky ol a:hover,
.cv-obsah-stranky ol a:focus-visible {
  text-decoration: underline;
}

/**
 * Záver karty — doplňujúca poznámka oddelená vlasovou linkou.
 * Pre informáciu, ktorá patrí ku konkrétnej karte, nie k celej sekcii.
 */
.cv-karta-zaver {
  margin-top: var(--wp--custom--spacing--size-s);
  padding-top: var(--wp--custom--spacing--size-s);
  border-top: 1px solid var(--wp--preset--color--gray-3);
}

.cv-karta-zaver > :first-child {
  margin-bottom: 0;
  color: var(--wp--preset--color--primary-1);
}

/* WordPress dáva blokom v prúde odstup zhora — v závere karty je zbytočný */
.cv-karta-zaver > * + * {
  margin-top: var(--wp--custom--spacing--size-3-xs) !important;
}

.cv-karta-zaver > :last-child {
  margin-bottom: 0;
}

/* Zaoblené rohy kariet so sivým boxom */
.wp-block-group.is-style-sivy-box-s-paddingom,
.wp-block-column.is-style-sivy-box-s-paddingom {
  border-radius: var(--wp--custom--layout--radius);
}

/* Karty: šípkové odkazy vždy pri spodnom okraji, v jednej línii naprieč kartami.
   Karta je flex stĺpec; prvý šípkový odkaz v závere karty dostane margin-top:auto
   (ak je odkazov viac za sebou, prilepí sa k spodku celá skupina). */
.wp-block-column.is-style-sivy-box-s-paddingom,
.wp-block-group.is-style-sivy-box-s-paddingom {
  display: flex;
  flex-direction: column;
}

.is-style-sivy-box-s-paddingom > .wp-block-group:last-child {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.is-style-sivy-box-s-paddingom
  > p.is-style-odkaz-so-sipkou:not(
    p.is-style-odkaz-so-sipkou + p.is-style-odkaz-so-sipkou
  ),
.is-style-sivy-box-s-paddingom
  > .wp-block-group:last-child
  > p.is-style-odkaz-so-sipkou:not(
    p.is-style-odkaz-so-sipkou + p.is-style-odkaz-so-sipkou
  ) {
  margin-top: auto;
  padding-top: var(--wp--custom--spacing--size-s);
}

/* Karty na šedom pozadí sú biele, aby nesplývali */
.has-gray-1-background-color .wp-block-column.is-style-sivy-box-s-paddingom,
.has-gray-1-background-color .wp-block-group.is-style-sivy-box-s-paddingom {
  background-color: var(--wp--preset--color--white);
}

/* Užšie karty — 2 primárne karty netreba roztiahnuť na plnú alignwide šírku */
.wp-block-columns.cv-primar-uzsie {
  max-width: var(--wp--style--global--content-size, 960px);
  margin-inline: auto;
}

/* Karta s JEDINÝM šípkovým odkazom (bez tlačidla a bez ďalšieho odkazu)
   = celá klikateľná (stretched link cez ::after). Karty s viacerými odkazmi
   alebo tlačidlami sa nechajú tak, aby sa nerozbila viacnásobná interakcia. */
.is-style-sivy-box-s-paddingom:has(.is-style-odkaz-so-sipkou a):not(:has(.is-style-odkaz-so-sipkou ~ .is-style-odkaz-so-sipkou)):not(:has(.wp-block-buttons)):not(:has(a:not(.is-style-odkaz-so-sipkou a))) {
  position: relative;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.is-style-sivy-box-s-paddingom:has(.is-style-odkaz-so-sipkou a):not(:has(.is-style-odkaz-so-sipkou ~ .is-style-odkaz-so-sipkou)):not(:has(.wp-block-buttons)):not(:has(a:not(.is-style-odkaz-so-sipkou a))):hover {
  background-color: var(--wp--preset--color--gray-2);
}

.is-style-sivy-box-s-paddingom:has(.is-style-odkaz-so-sipkou a):not(:has(.is-style-odkaz-so-sipkou ~ .is-style-odkaz-so-sipkou)):not(:has(.wp-block-buttons)):not(:has(a:not(.is-style-odkaz-so-sipkou a))) .is-style-odkaz-so-sipkou a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Jemnejší oddeľovač v hero sekcii — polovičné odsadenie oproti bežnému hr */
.is-style-hero-sekcia hr.wp-block-separator {
  height: 1px;
  border: none;
  opacity: 0.4;
  margin-top: calc(var(--wp--custom--spacing--size-xl-2-xl) / 2) !important;
  margin-bottom: calc(var(--wp--custom--spacing--size-xl-2-xl) / 2) !important;
}

/* Media-text so zaobleným obrázkom */
.is-style-zaobleny-obrazok .wp-block-media-text__media,
.is-style-zaobleny-obrazok .wp-block-media-text__media img {
  border-radius: calc(var(--wp--custom--layout--radius) * 2);
  overflow: hidden;
}

/* Vyššia špecifickosť než globálne `.wp-block-media-text > .__content { padding: 0 !important }` nižšie v súbore */
.wp-block-media-text.is-style-zaobleny-obrazok > .wp-block-media-text__content {
  padding-left: var(--wp--custom--spacing--size-l-xl) !important;
  padding-right: 0 !important;
}

/* Zvislé medzery medzi prvkami obsahu (nadpis, perex, text, CTA) */
.wp-block-media-text.is-style-zaobleny-obrazok
  > .wp-block-media-text__content
  > *
  + * {
  margin-top: var(--wp--custom--spacing--size-s);
}

.wp-block-media-text.is-style-zaobleny-obrazok.has-media-on-the-right
  > .wp-block-media-text__content {
  padding-left: 0 !important;
  padding-right: var(--wp--custom--spacing--size-l-xl) !important;
}

/* CTA riadok — tlačidlo + šípkový odkaz vedľa seba, vycentrované */
.cta-riadok {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp--custom--spacing--size-m);
}

.cta-riadok > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.cta-riadok p,
.cta-riadok .wp-block-buttons {
  margin: 0;
}

.cta-riadok .is-style-odkaz-so-sipkou a {
  display: inline-flex;
  align-items: center;
}

/* Téma dáva odkazu tlačidla horný margin (odsadenie od textu) — v CTA riadku ho rušíme */
.cta-riadok .wp-block-button__link {
  margin-top: 0 !important;
}

@media (max-width: 600px) {
  .is-style-zaobleny-obrazok .wp-block-media-text__content,
  .is-style-zaobleny-obrazok.has-media-on-the-right
    .wp-block-media-text__content {
    padding-left: 0;
    padding-right: 0;
    padding-top: var(--wp--custom--spacing--size-m);
  }
}

/* Štatistiky — rad čísel s tenkou bočnou linkou (vyberá sa v paneli Štýly).
   Linka je v strede medzery medzi stĺpcami, takže pri 4 stĺpcoch v alignwide
   sedí stredová linka presne so stredom stránky (= hrana fotky v hero 50/50). */
.wp-block-columns.is-style-statistiky .wp-block-column {
  position: relative;
  padding-left: var(--wp--custom--spacing--size-s);
}

.wp-block-columns.is-style-statistiky .wp-block-column::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--wp--style--block-gap, 1.5rem) / -2);
  width: 1px;
  background: var(--wp--preset--color--gray-4);
}

.wp-block-columns.is-style-statistiky .wp-block-column > *:first-child {
  margin-bottom: var(--wp--custom--spacing--size-3-xs);
}

/* Iniciálky (avatar) — kruhový avatar z iniciálok pre karty osôb */
.is-style-inicialy-avatar {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: var(--wp--preset--color--primary-2);
  color: var(--wp--preset--color--primary-1);
  font-family: var(--wp--preset--font-family--nadpisove-pismo);
  font-weight: 600;
  font-size: var(--wp--custom--typography--step-1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Hero štatistiky — stĺpce s tenkou bielou bočnou linkou namiesto oddeľovača */
.hero-statistiky .wp-block-column {
  border-left: 1px solid var(--wp--preset--color--white);
  padding-left: var(--wp--custom--spacing--size-s);
}

.hero-statistiky .wp-block-column p:last-child {
  opacity: 0.85;
}

/* Časová os pre blok Stĺpce — vyberá sa v paneli Štýly:
   „Časová os" = tmavočervená (na svetlé pozadie),
   „Časová os (biela)" = biela (na tmavé/gradientové pozadie).
   (.charita-timeline ponechaná pre spätnú kompatibilitu existujúceho obsahu.) */
.wp-block-columns:is(
  .charita-timeline,
  .is-style-casova-os,
  .is-style-casova-os-biela
) {
  gap: var(--wp--custom--spacing--size-l);
  --os-bodka: var(--wp--preset--color--primary-1);
  --os-linka: rgba(138, 29, 3, 0.25);
  --os-ziara: rgba(138, 29, 3, 0.15);
}

.charita-timeline.charita-timeline-biela,
.wp-block-columns.is-style-casova-os-biela {
  --os-bodka: var(--wp--preset--color--white);
  --os-linka: rgba(255, 255, 255, 0.35);
  --os-ziara: rgba(255, 255, 255, 0.25);
}

.wp-block-columns:is(
    .charita-timeline,
    .is-style-casova-os,
    .is-style-casova-os-biela
  )
  .wp-block-column {
  position: relative;
  padding-top: var(--wp--custom--spacing--size-m);
}

.wp-block-columns:is(
    .charita-timeline,
    .is-style-casova-os,
    .is-style-casova-os-biela
  )
  .wp-block-column::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: calc(-1 * var(--wp--custom--spacing--size-l));
  height: 2px;
  background: var(--os-linka);
}

.wp-block-columns:is(
    .charita-timeline,
    .is-style-casova-os,
    .is-style-casova-os-biela
  )
  .wp-block-column:last-child::before {
  right: 0;
}

.wp-block-columns:is(
    .charita-timeline,
    .is-style-casova-os,
    .is-style-casova-os-biela
  )
  .wp-block-column::after {
  content: "";
  position: absolute;
  top: -6px;
  left: 0;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--os-bodka);
  box-shadow: 0 0 0 5px var(--os-ziara);
}

@media (max-width: 781px) {
  .wp-block-columns:is(
      .charita-timeline,
      .is-style-casova-os,
      .is-style-casova-os-biela
    )
    .wp-block-column::before {
    right: 0;
  }
}

footer {
  background-color: var(--wp--preset--color--primary-4);
}

footer p {
  margin-top: var(--wp--custom--spacing--size-m);
}

footer h2 {
  margin-bottom: var(--wp--custom--spacing--size-m-l);
}

footer > div {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

footer a {
  text-decoration: none;
  color: var(--wp--preset--color--black);
}

footer a:hover {
  text-decoration: underline;
}

footer li {
  list-style: none;
}

/* Skryť plávajúcu CookieYes ikonu (revisit) — nastavenia sú v pätičke */
.cky-btn-revisit-wrapper {
  display: none !important;
}

/* Pätička – spodný právny pás (© + ochrana údajov + nastavenia cookies).
   Samostatný biely pás na celú šírku pod modrou pätičkou. Modrá medzera nad
   pásom = spodný padding pätičky (rovnaký ako horný = sekcie). */
footer#colophon {
  padding-bottom: var(--wp--custom--layout--sekcie);
}

.cv-footer-legal {
  background-color: var(--wp--preset--color--white);
  padding: var(--wp--custom--spacing--size-m) var(--wp--custom--spacing--size-s);
}

.cv-footer-legal p {
  max-width: var(--wp--style--global--wide-size, 1440px);
  margin: 0 auto;
  font-size: 0.85rem;
  color: var(--wp--preset--color--black);
}

.cv-footer-legal a {
  color: var(--wp--preset--color--black);
  cursor: pointer;
  text-decoration: none;
}

.cv-footer-legal a:hover {
  text-decoration: none;
}

/* "Nastavenia cookies" je <button> (aby neskákal na vrch ako href="#"),
   vyzerá ako bežný textový odkaz v pätičke */
.cv-footer-legal button.cv-cookie-link {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  width: auto;
  font: inherit;
  line-height: inherit;
  text-transform: none;
  color: var(--wp--preset--color--black);
  cursor: pointer;
  display: inline;
}

.cv-footer-legal button.cv-cookie-link:hover {
  background: none !important;
  color: var(--wp--preset--color--black) !important;
  text-decoration: none;
}

section,
footer {
  padding-top: var(--wp--custom--layout--sekcie);
  padding-bottom: var(--wp--custom--layout--sekcie);
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Dve biele sekcie hneď za sebou: druhej (a ďalším) zrušíme horný padding,
   aby medzi nimi nevznikla dvojitá medzera. Biela = bez pozadia alebo výslovne
   biele pozadie. Sekcia s farebným pozadím reťaz preruší (má plný padding).
   Výnimka: ak má druhá sekcia hornú čiaru (border-top), ponecháme jej padding,
   aby mala deliaca čiara priestor a nebola stiesnená.
   Bez !important, takže ručne nastavený inline padding-top vždy vyhrá. */
section.wp-block-group:not(.has-background)
  + section.wp-block-group:not(.has-background):not([style*="border-top"]),
section.wp-block-group.has-white-background-color
  + section.wp-block-group:not(.has-background):not([style*="border-top"]),
section.wp-block-group:not(.has-background)
  + section.wp-block-group.has-white-background-color:not([style*="border-top"]),
section.wp-block-group.has-white-background-color
  + section.wp-block-group.has-white-background-color:not([style*="border-top"]) {
  padding-top: 0;
}

.is-style-hero-sekcia .wp-block-media-text__content {
  padding: 0;
}

.is-style-hero-sekcia .wp-block-media-text__content > div {
  padding: var(--wp--custom--spacing--size-2-xl-3-xl)
    var(--wp--custom--spacing--size-s);
}

/**
 * Hero bez vnútorného obalu (nadpis a perex sú priamo v stĺpci).
 * Odsadenie inak spadne na nulu a text sa oprie o obrázok.
 */
.wp-block-media-text.is-style-hero-sekcia
  > .wp-block-media-text__content:not(:has(> div)) {
  padding: var(--wp--custom--spacing--size-2-xl-3-xl)
    var(--wp--custom--spacing--size-s) !important;
}

/* Obrázok vyplní svoj stĺpec, nech je hero akokoľvek vysoké */
.is-style-hero-sekcia .wp-block-media-text__media {
  align-self: stretch;
}

.is-style-hero-sekcia .wp-block-media-text__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/**
 * Hero bez vnútorného obalu má krátky obsah (len nadpis a perex), takže výšku
 * sekcie by inak určil obrázok a nad textom aj pod ním by ostala prázdna plocha.
 * Preto tu obrázku určíme výšku a text si sadne do jeho stredu.
 */
.is-style-hero-sekcia
  .wp-block-media-text__content:not(:has(> div))
  + .wp-block-media-text__media {
  height: 440px;
}

/* Vlastný štýl pre odkaz so šípkou */
.is-style-odkaz-so-sipkou a {
  text-decoration: none;
}

.is-style-odkaz-so-sipkou a::after,
.is-style-odkaz-so-sipkou span::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.85em;
  background-color: currentColor;
  mask-image: url('data:image/svg+xml,<svg width="7" height="12" viewBox="0 0 7 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 0.5L6 6L1 11.5" stroke="white" stroke-width="1.5"/></svg>');
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  vertical-align: middle;
  margin-left: 0.4em;
  transition: transform 0.2s ease-out;
}

.is-style-odkaz-so-sipkou a:hover,
.is-style-odkaz-so-sipkou span:hover {
  text-decoration: underline;
  color: var(--wp--preset--color--black);
}

.is-style-odkaz-so-sipkou a:hover::after,
.is-style-odkaz-so-sipkou span:hover::after {
  transform: translateX(4px);
}

/* ===== Nová hlavička: horný pás + fixné hlavné menu ===== */
.cv-top-pas {
  background-color: var(--wp--preset--color--white);
  border-bottom: 1px solid var(--wp--preset--color--gray-2);
  /* Bočný okraj patrí na obal — rovnako ako v <header>. Vnútro tak lícuje s logom aj s menu. */
  padding-inline: var(--wp--custom--layout--edge);
}

.cv-top-pas-vnutro {
  max-width: var(--wp--style--global--wide-size, 1440px);
  margin-inline: auto;
  padding: var(--wp--custom--spacing--size-2-xs) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--custom--spacing--size-m);
  flex-wrap: wrap;
}

.cv-top-pas p {
  margin: 0;
}

.cv-top-pas-pravy {
  display: flex;
  align-items: center;
  gap: var(--wp--custom--spacing--size-m);
  flex-wrap: wrap;
}

.cv-top-cta {
  display: flex;
  align-items: center;
  gap: var(--wp--custom--spacing--size-xs);
}

/* Kontaktné položky s ikonou v kruhu (vzor Senec: 2.1rem kruh, gray-2 pozadie) */
.cv-top-pas .cv-top-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.cv-top-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  flex: none;
  border-radius: 50%;
  background: var(--wp--preset--color--gray-2);
  color: var(--wp--preset--color--gray-5);
}

.cv-top-ico svg {
  width: 1.05rem;
  height: 1.05rem;
}

.cv-top-txt p {
  font-size: 0.88rem;
  line-height: 1.35;
  color: var(--wp--preset--color--gray-5);
  margin: 0;
}

.cv-top-txt p strong {
  color: var(--wp--preset--color--black);
  font-weight: 600;
}

.cv-top-txt a {
  color: inherit;
  text-decoration: none;
}

.cv-top-txt a:hover,
.cv-top-txt a:focus-visible {
  color: var(--wp--preset--color--primary-1);
  text-decoration: underline;
}

/* Odkazy na sociálne siete v hornom páse — rovnaký vzor ako ikony adresy/telefónu (kruh, gray-2) */
.cv-top-socialky {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.cv-top-socialky a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  flex: none;
  border-radius: 50%;
  background: var(--wp--preset--color--gray-2);
  color: var(--wp--preset--color--gray-5);
}

.cv-top-socialky a svg {
  width: 1.05rem;
  height: 1.05rem;
}

.cv-top-socialky a:hover,
.cv-top-socialky a:focus-visible {
  color: var(--wp--preset--color--white);
}

/* Hover vo farbe danej siete (ako má originál), namiesto jednej univerzálnej farby */
.cv-top-socialky a[aria-label="Facebook"]:hover,
.cv-top-socialky a[aria-label="Facebook"]:focus-visible {
  background: #1877f2;
}

.cv-top-socialky a[aria-label="Instagram"]:hover,
.cv-top-socialky a[aria-label="Instagram"]:focus-visible {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}

.cv-top-socialky a[aria-label="YouTube"]:hover,
.cv-top-socialky a[aria-label="YouTube"]:focus-visible {
  background: #ff0000;
}

@media (max-width: 781px) {
  .cv-top-ico {
    width: 1.8rem;
    height: 1.8rem;
  }

  .cv-top-ico svg {
    width: 0.95rem;
    height: 0.95rem;
  }

  .cv-top-txt p {
    font-size: 0.78rem;
  }

  .cv-top-socialky a {
    width: 1.8rem;
    height: 1.8rem;
  }

  .cv-top-socialky a svg {
    width: 0.95rem;
    height: 0.95rem;
  }
}

.cv-top-pas .wp-block-button__link {
  margin-top: 0 !important;
  padding-top: 1.03rem;
  padding-bottom: 1.03rem;
}

/* Claim — malé písmo ako tagline na fara senec */
.cv-top-pas .cv-claim {
  font-family: Roboto, sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600;
  line-height: 1.35;
  max-width: 15rem;
}

/* Logo hlavičky: na desktope jednotná výška 50 px, šírka podľa pomeru strán */
@media (min-width: 782px) {
  body.ma-novu-hlavicku .cverna-header-logo {
    height: 50px;
    width: auto;
    max-width: none;
  }
}

@media (max-width: 781px) {
  .cv-top-pas .cv-claim,
  .cv-top-pas .wp-block-buttons,
  .cv-top-pas .cv-top-item-adresa {
    display: none;
  }

  .cv-top-pas-vnutro {
    justify-content: flex-start;
  }
}

/* Fixná hlavička (logo + hlavné menu) pri scrolle — len s novou hlavičkou */
body.ma-novu-hlavicku > header {
  position: sticky;
  top: 0;
  z-index: 990;
  background-color: var(--wp--preset--color--white);
  /* Oddeľovač kreslí border-bottom vyššie; vlastný tieň by bol druhá čiara
     navyše. Nechávame ho vypnutý, aby mal prechod na tieň po odscrollovaní
     z čoho vychádzať. */
  box-shadow: 0 0 0 transparent;
  transition:
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

/* Glass efekt po odscrollovaní.
   POZOR: backdrop-filter musí byť na ::before, nie na samotnej hlavičke —
   inak sa hlavička stane "containing block" a fixed mobilné mega menu
   sa ukotví do nej namiesto obrazovky (menu sa po scrolle nezobrazí). */
body.ma-novu-hlavicku > header.je-scrollnute {
  background-color: rgba(255, 255, 255, 0.72);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

body.ma-novu-hlavicku > header.je-scrollnute::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  -webkit-backdrop-filter: blur(12px) saturate(1.4);
  backdrop-filter: blur(12px) saturate(1.4);
}

body.admin-bar.ma-novu-hlavicku > header {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar.ma-novu-hlavicku > header {
    top: 46px;
  }
}

/* MENU */
#mega-menu-wrap-hlavne-menu
  #mega-menu-hlavne-menu
  > li.mega-menu-item
  > a.mega-menu-link {
  font-weight: 600 !important;
}

/* Základný vzhľad tlačidla */
.menu-button-1 a,
.menu-button-2 a {
  display: inline-block !important;
  padding: 0 var(--wp--custom--spacing--size-s) !important;
  background-color: var(--wp--preset--color--primary-3) !important;
  color: var(--wp--preset--color--primary-1) !important;
  border-radius: 2rem !important;
  text-decoration: none;
  font-weight: 600;
  line-height: 1;
  transition:
    background-color 0.2s ease-in-out,
    color 0.2s ease-in-out;
  height: auto !important;
  text-transform: uppercase !important;
  font-size: 14px !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.menu-button-2 a {
  background-color: var(--wp--preset--color--primary-1) !important;
  color: white !important;
}

/* Zrušenie globálneho podčiarknutia špecificky pre tlačidlo */
.menu-button-1 a,
.menu-button-1 a:hover,
.menu-button-2 a,
.menu-button-2 a:hover {
  text-decoration: none;
}

/* Vzhľad tlačidla po prejdení myšou (hover) */
.menu-button-1 a:hover,
.menu-button-2 a:hover {
  background-color: var(--wp--preset--color--gray-3) !important;
  color: var(--wp--preset--color--primary-1) !important;
}

.is-style-sirka-920 {
  max-width: 920px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.schema-faq-section {
  background-color: var(--wp--preset--color--gray-2);
  padding: var(--wp--custom--spacing--size-xs)
    var(--wp--custom--spacing--size-s-m);
  border-radius: 0.5rem;
  margin-bottom: 0.5rem;
}

.schema-faq-question {
  font-size: var(--wp--custom--typography--step-1);
  position: relative;
  cursor: pointer;
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  font-family: var(--wp--preset--font-family--nadpisove-pismo);
}

.schema-faq-question:after {
  content: "+";
  -webkit-transition-duration: 0.8s;
  -moz-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  transition-duration: 0.8s;
  font-family: var(--wp--preset--font-family--bezny-text);
  font-size: var(--wp--custom--typography--step-2);
  color: var(--wp--preset--color--primary-1);
  font-weight: 200;
}

.schema-faq-question.active:after {
  transform: rotate(45deg);
}

.schema-faq-answer {
  margin-top: var(--wp--custom--spacing--size-m);
}

.post-in-list {
  background-color: var(--wp--preset--color--gray-1);
}

.post-in-list h2 {
  margin-bottom: var(--wp--custom--spacing--size-s);
}

article .post-content {
  padding: var(--wp--custom--spacing--size-m)
    var(--wp--custom--spacing--size-m-l) var(--wp--custom--spacing--size-m-l)
    var(--wp--custom--spacing--size-m-l);
}

.post-content h2 a {
  text-decoration: none;
}

.post-content h2 a:hover {
  text-decoration: underline;
}

.cv-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(23rem, 100%), 1fr));
  gap: var(--wp--custom--spacing--size-m);
}

.post-meta,
.post-meta a {
  color: #000;
  font-size: 14px;
}

.post-meta a {
  border: 1px solid #000;
  padding: 0.5rem;
  border-radius: 12px;
  text-decoration: none;
}

.post-meta a:hover {
  text-decoration: underline;
}

.post-meta {
  align-items: center;
  margin-bottom: var(--wp--custom--spacing--size-m);
  justify-content: space-between;
  display: flex;
}

.cv-edge {
  padding-left: var(--wp--custom--spacing--size-s);
  padding-right: var(--wp--custom--spacing--size-s);
}

.post-in-list img {
  aspect-ratio: 16/9;
  object-fit: cover;
}

.cv-single-article h1 {
  margin-bottom: var(--wp--custom--spacing--size-s);
}

.cv-single-article .post-meta {
  margin-bottom: var(--wp--custom--spacing--size-xl-2-xl);
  font-size: 16px;
  color: var(--wp--preset--color--gray-5);
  justify-content: center;
}

.cv-single-article .post-meta a {
  border: none;
  color: var(--wp--preset--color--gray-5);
  font-size: 16px;
  padding: 0;
}

.cv-single-article .post-meta span + span {
  border-left: 1px solid var(--wp--preset--color--gray-5);
  padding-left: var(--wp--custom--spacing--size-3-xs);
  margin-left: var(--wp--custom--spacing--size-3-xs);
}

.cv-single-article .entry-content > * {
  margin-top: var(--wp--custom--spacing--size-s-m);
}

.cv-single-article .entry-content h2 {
  font-size: var(--wp--custom--typography--step-2);
}

.cv-single-article .entry-content h3 {
  font-size: var(--wp--custom--typography--step-1);
}

.cv-single-article .entry-content h2,
.cv-single-article .entry-content h3 {
  margin-top: var(--wp--custom--spacing--size-m-l);
  margin-bottom: 0;
}

/*.entry-content > p:first-child {
  font-family: var(--wp--preset--font-family--nadpisove-pismo);
  font-size: var(--wp--preset--font-size--velkost-h-6);
}*/
.slick-track {
  display: flex !important;
  /* gap: var(--wp--custom--spacing--size-m);*/
}

.projekty-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wp--custom--spacing--size-m);
}

.projekty-grid article a {
  display: grid;
  grid-template-columns: 1fr;
  background-color: var(--wp--preset--color--primary-2);
}

.projekty-grid .projekt-content {
  padding: var(--wp--custom--spacing--size-m-l);
}

.projekty-grid .projekt-content h3 {
  margin-bottom: var(--wp--custom--spacing--size-m);
}

.projekt-thumbnail img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  height: 100%;
}

.projekty-grid a {
  text-decoration: none;
}

.projekty-grid .post-excerpt {
  color: var(--wp--preset--color--black);
  margin-bottom: var(--wp--custom--spacing--size-l-xl);
}

.cely-box-klikaci {
  position: relative;
}

.cely-box-klikaci .natiahnuty-odkaz a::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.najnovsie-clanky-kategoria h3 a {
  text-decoration: none;
}

.najnovsie-clanky-kategoria a:hover {
  text-decoration: underline;
}

.entry-content {
  max-width: 70ch;
  margin: var(--wp--custom--spacing--size-m-l) auto 0 auto;
}

.pisu-o-nas-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wp--custom--spacing--size-m);
  max-width: var(--wp--style--global--wide-size);
}

.pisu-o-nas-item {
  border-radius: var(--wp--custom--layout--radius, 8px);
  overflow: hidden;
  height: 100%;
  min-height: 60vw;
}

.pisu-o-nas-item:nth-child(1) {
  background-color: var(--wp--preset--color--primary-2);
}

.pisu-o-nas-item:nth-child(1),
.pisu-o-nas-item:nth-child(6) {
  color: var(--wp--preset--color--primary-1);
}

.pisu-o-nas-item:nth-child(2) .pisu-o-nas-item__content,
.pisu-o-nas-item:nth-child(4) .pisu-o-nas-item__content,
.pisu-o-nas-item:nth-child(8) .pisu-o-nas-item__content {
  justify-content: end;
}

.pisu-o-nas-item:nth-child(3) .pisu-o-nas-item__image:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: #8a201b;
  background: linear-gradient(
    90deg,
    rgba(138, 32, 27, 1) 0%,
    rgba(138, 32, 27, 0) 100%
  );
  opacity: 0.75;
}
.pisu-o-nas-item:nth-child(4) .pisu-o-nas-item__image:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: #c0def5;
  background: linear-gradient(
    0deg,
    rgba(192, 222, 245, 1) 0%,
    rgba(192, 222, 245, 0) 100%
  );
  opacity: 0.75;
}
.pisu-o-nas-item:nth-child(8) .pisu-o-nas-item__image:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: #fee5d7;
  background: linear-gradient(
    0deg,
    rgba(254, 229, 215, 1) 0%,
    rgba(254, 229, 215, 0) 100%
  );
  opacity: 0.75;
}
.pisu-o-nas-item:nth-child(2) h3,
.pisu-o-nas-item:nth-child(3) h3,
.pisu-o-nas-item:nth-child(5) h3,
.pisu-o-nas-item:nth-child(7) h3,
.pisu-o-nas-item:nth-child(9) h3 {
  color: var(--wp--preset--color--white);
}

.pisu-o-nas-item:nth-child(2) h3,
.pisu-o-nas-item:nth-child(4) h3,
.pisu-o-nas-item:nth-child(8) h3 {
  margin-bottom: 0;
}

.pisu-o-nas-item:nth-child(3) h3,
.pisu-o-nas-item:nth-child(5) h3,
.pisu-o-nas-item:nth-child(7) h3 {
  font-size: var(--wp--preset--font-size--velkost-h-4) !important;
}
.pisu-o-nas-item:nth-child(3) a,
.pisu-o-nas-item:nth-child(5) a,
.pisu-o-nas-item:nth-child(7) a,
.pisu-o-nas-item:nth-child(8) a,
.pisu-o-nas-item:nth-child(9) a {
  color: var(--wp--preset--color--white);
}

.pisu-o-nas-item:nth-child(5) {
  background: linear-gradient(
    288.21deg,
    #8a1d03 22.18%,
    #d88561 67.31%,
    #db6f40 94.39%
  );
}

.pisu-o-nas-item:nth-child(6) {
  background-color: var(--wp--preset--color--primary-4);
}

.pisu-o-nas-item:nth-child(9) {
  background-color: var(--wp--preset--color--primary-1);
}

.pisu-o-nas-item__link-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.2s ease-in-out;
  position: relative;
}

.pisu-o-nas-item__link-wrapper:hover {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.pisu-o-nas-item__image {
  z-index: 1;
}

.pisu-o-nas-item__image img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  display: block;
  position: absolute;
}

.pisu-o-nas-item__content {
  padding: var(--wp--custom--spacing--size-m-l);
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 5;
  gap: var(--wp--custom--layout--sekcie);
}

.pisu-o-nas-item__description {
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.6;
}

.wpcf7-list-item {
  margin-left: 0;
}

.wp-block-file:not(.wp-element-button) {
  font-size: var(--wp--custom--typography--step-0);
}

.wp-block-file a {
  color: var(--wp--preset--color--black);
  text-decoration: none;
  background-image: url(images/download.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 32px;
  padding-left: calc(var(--wp--custom--spacing--size-m) + 32px);
  display: inline-block;
  /* Ikona má 32 px, jednoriadkový názov len ~25 px — bez minimálnej výšky
     sa jej spodná časť orezala. */
  min-height: 32px;
}

.wp-block-file a:hover {
  color: var(--wp--preset--color--primary-1);
  text-decoration: underline;
}

.wp-block-file a em {
  font-style: normal;
  display: block;
  color: var(--wp--preset--color--gray-5);
  font-size: 0.9rem;
}

.wp-block-file + .wp-block-file {
  border-top: 1px solid var(--wp--preset--color--gray-2);
  padding-top: var(--wp--custom--spacing--size-xs);
  margin-top: var(--wp--custom--spacing--size-xs);
}

.cv-cielovky {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(23rem, 100%), 1fr));
}

.cv-cielovka a {
  background-color: var(--wp--preset--color--gray-1);
  display: grid;
  /* karta vyplní bunku mriežky — bez toho je karta s kratším názvom nižšia */
  height: 100%;
  grid-template-columns: 1fr 1fr;
  text-decoration: none;
  -webkit-transition: all 1000ms linear;
  -ms-transition: all 1000ms linear;
  transition: all 1000ms linear;
  min-height: 168px;
}

.cv-cielovka a:hover {
  background-color: var(--wp--preset--color--primary-2);
}

.cv-cielovka a:hover span {
  text-decoration: underline;
}

.cv-cielovka-text {
  padding: var(--wp--custom--spacing--size-s);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.cv-bg-white {
  background-color: var(--wp--preset--color--white);
}

.cv-border-bottom {
  border-bottom: 1px solid var(--wp--preset--color--gray-3);
}

.cv-margin-top {
  margin-top: var(--wp--custom--spacing--size-m);
}

/*
 * Vynútené odstránenie predvoleného paddingu z bloku Media & Text
 */
.wp-block-media-text > .wp-block-media-text__content {
  padding: 0 !important;
}

.cff-diocess-grid {
  --pocetch: 1;
  display: grid;
  grid-template-columns: repeat(var(--pocetch), 1fr);
  gap: 1rem;
}

a.cff-diocese-block {
  background-color: #f5f5f5;
  padding: var(--wp--custom--spacing--size-s-m);
}

a.cff-diocese-block img {
  height: clamp(2.1875rem, 1.5625rem + 2.7778vw, 4.0625rem);
  width: auto;
  object-fit: none;
  max-width: none;
}

.cv-cielovka-img figure {
  height: 100%;
}

.cv-cielovka-img img {
  object-fit: cover;
  height: 100%;
}

/* Karta bez vlastnej fotky (napr. "Neviete, kam patríte?") — namiesto
   fotky farebný panel s ikonou, aby sa nemusela vymýšľať nepravdivá fotka. */
.cv-cielovka-img-placeholder {
  height: 100%;
  min-height: 168px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--wp--preset--color--gray-1);
}

.cv-cielovka-img-placeholder img {
  width: 3.5rem;
  height: 3.5rem;
  opacity: 0.85;
}

.cv-cielovka-text h3 {
  padding-right: var(--wp--custom--spacing--size-m);
}

.projekt-meta {
  margin-top: var(--wp--custom--spacing--size-l-xl);
}

.projekt-meta p + p {
  margin-top: var(--wp--custom--spacing--size-xs);
}

.projekt-meta strong,
.projekt-meta b {
  display: block;
}

.page-numbers {
  display: flex;
  gap: 0;
  list-style: none;
  margin-left: 0;
  justify-content: center;
  padding-bottom: var(--wp--custom--layout--sekcie);
}

.page-numbers li > * {
  text-decoration: none;
  color: var(--wp--preset--color--black);
  padding: 0 0.5rem;
}

.page-numbers li .current,
.page-numbers li a:hover {
  color: var(--wp--preset--color--primary-1);
  text-decoration: underline;
}

/* START SEKY plugin */
.tab-pane {
  display: none;
}

.tab-pane.active {
  display: block;
}

.tabs-navigation {
  display: flex;
}

.tabs-navigation .tab-button {
  background-color: transparent;
  border-bottom: 0.5px solid var(--wp--preset--color--gray-3);
  color: var(--wp--preset--color--black);
  width: auto;
  border-radius: 0;
  text-transform: none;
  font-weight: 400;
  font-family: var(--wp--preset--font-family--bezny-text);
  font-size: var(--wp--custom--typography--step-0);
}

.tabs-navigation .tab-button.active,
.tabs-navigation .tab-button:hover {
  border-bottom-color: var(--wp--preset--color--primary-1);
  color: var(--wp--preset--color--primary-1);
  background-color: transparent !important;
  cursor: pointer;
}

.tabs-content {
  padding-top: var(--wp--custom--spacing--size-l-xl);
  max-width: 960px;
}

button#filter-button {
  border: none;
  padding: 12px 25px;
  background-color: var(--wp--preset--color--primary-4);
  color: var(--wp--preset--color--black);
  border-radius: 2rem;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  min-height: 50px;
  width: 100%;
}

.facility-card {
  padding: 0;
  gap: 0;
}

.cff-services-grid {
  align-items: normal;
}

.cff-services-grid .cff-service-item {
  text-decoration: none;
}

.cff-services-grid h2 {
  font-size: var(--wp--custom--typography--step-1) !important;
}

.cff-services-grid p {
  color: var(--wp--preset--color--black);
  margin-top: 0.5rem;
}

.facilities-grid-4 {
  flex-wrap: wrap;
}

#facilities-filters > div {
  gap: 0.25rem;
  flex: 0 0 auto;
  display: block;
  align-self: end;
}

/* END SEKY PLUGIN */

/* Zmení len farbu guličky na červenú */
.is-style-valid-1 li::marker {
  color: var(--wp--preset--color--primary-1);
}
.cv-img-fill {
  object-fit: cover;
  height: 100%;
}
/* slider loga */
.slick-arrow {
  width: 32px;
  height: 32px;
  clip-path: none;
  padding: 3px;
  border-radius: 100%;
  background-color: var(--wp--preset--color--primary-1);
}
/* Logo slider - fallback kým sa Slick nenačíta */
.is-style-logo-slider:not(.slick-initialized) {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem 0.5rem !important;
  padding-left: 2rem;
  padding-right: 2rem;
}

/* Keď Slick inicializuje, musí byť block, nie flex */
.is-style-logo-slider.slick-initialized,
.is-style-logo-slider.slick-initialized.is-layout-flex,
.is-style-logo-slider.slick-initialized.wp-block-gallery-is-layout-flex {
  display: block !important;
  padding-left: 2rem;
  padding-right: 2rem;
}

.is-style-logo-slider .slick-track {
  display: flex !important;
  align-items: center;
}

.is-style-logo-slider .slick-slide {
  padding: 0 0.5rem;
}

.is-style-logo-slider .slick-slide img {
  max-height: 180px;
  width: auto;
  margin: 0 auto;
  object-fit: contain;
}

.is-style-logo-slider .slick-prev,
.is-style-logo-slider .slick-next {
  top: calc(50% - 16px);
  position: absolute;
  z-index: 20;
}
.is-style-logo-slider .slick-prev {
  left: 0;
}
.is-style-logo-slider .slick-next {
  right: 0;
}
.cff-services-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
}
.cff-services-grid .cff-service-item {
  width: 100% !important;
}
#facilities-filters select {
  width: 100%;
}

/* 1. Nastavenie pre VŠETKY obrázky (aj funkčné) */
.facility-card img {
  width: 100%;
  aspect-ratio: 3 / 2; /* Drží pomer strán 3:2 */
  object-fit: cover; /* Aby sa dobrý obrázok nedeformoval */
  display: block;
}

/* ===== ol.is-style-valid-1 – Timeline numbered list ===== */

ol.is-style-valid-1 {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  margin-top: var(--wp--custom--spacing--size-s);
}

ol.is-style-valid-1::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 10px;
  bottom: 10px;
  width: 1px;
  background: var(--wp--preset--color--primary-2);
}

ol.is-style-valid-1 > li {
  position: relative;
  padding: 3px 0 18px 48px;
  counter-increment: cv-cisla-counter;
}

/* Číslo je orientačná značka, nie grafický objekt — plná červená kolieska
   v troch stĺpcoch vedľa seba prekričali text, ktorý sa má čítať. */
ol.is-style-valid-1 > li::before {
  content: counter(cv-cisla-counter);
  position: absolute;
  left: 0;
  top: 0;
  width: 32px;
  height: 32px;
  background-color: var(--wp--preset--color--primary-2);
  color: var(--wp--preset--color--primary-1);
  font-weight: 600;
  font-size: 14px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

ol.is-style-valid-1 > li:last-child {
  padding-bottom: 0;
}

ol.is-style-valid-1 ol {
  list-style: none;
  margin: 8px 0 0 0;
  padding: 0;
}

ol.is-style-valid-1 ol li {
  position: relative;
  padding: 4px 0 4px 20px;
  font-size: 0.95em;
}

ol.is-style-valid-1 ol li::before {
  content: "›";
  position: absolute;
  left: 0;
  color: var(--wp--preset--color--primary-1);
  font-weight: 700;
  font-size: 1.1em;
  line-height: 1.4;
}
.wpcf7 form .wpcf7-response-output,
.mc4wp-alert {
  padding: 1rem;
}
.wpcf7-list-item {
  margin-left: 0;
}
.wpcf7-checkbox span > label {
  margin-top: 0;
  margin-bottom: 1.5rem;
}
.wpcf7 form .wpcf7-response-output,
.mc4wp-alert {
  border: none;
  border-left: 5px solid rgba(50, 50, 120, 1);
  background-color: rgba(50, 50, 120, 0.25);
  color: var(--clr-black);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-left: 5px solid rgba(214, 129, 71, 1);
  background-color: rgba(214, 129, 71, 0.25);
}
.wpcf7 form.sent .wpcf7-response-output {
  border-left: 5px solid rgba(50, 50, 120, 1);
}
.wpcf7 form.spam .wpcf7-response-output {
  background-color: rgba(214, 129, 71, 0.25);
}
.grecaptcha-badge {
  right: -99999rem !important;
}

.hero-zariadenie {
  grid-template-columns: 1fr 50%;
  display: grid;
  align-items: center;
}
@media only screen and (max-width: 900px) {
  .hero-zariadenie {
    grid-template-columns: 100% !important;
  }
  .hero-zariadenie figure {
    order: 1;
  }
  .hero-zariadenie > div {
    order: 2;
  }
}

.hero-carousel .wp-block-buttons {
  display: flex !important;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--m);
  /* Tlačidlo má v téme `height: 100%`, aby si v rade zrovnali výšku. V hero je
     tlačidlo samo, takže by sa len naťahovalo na výšku riadku — necháme mu
     jeho vlastnú. */
  align-items: flex-start;
}

/* RESPONSIVEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE*/
@media only screen and (min-width: 400px) {
  .cff-diocess-grid {
    --pocetch: 2;
  }
}

@media only screen and (min-width: 782px) {
  .cff-diocess-grid {
    --pocetch: 3;
  }

  a.cff-diocese-block {
    padding: var(--wp--custom--spacing--size-l-xl)
      var(--wp--custom--spacing--size-m-l);
  }

  .pisu-o-nas-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr 1fr 1fr;
  }

  .pisu-o-nas-item:nth-child(9) {
    grid-column: 1 / 3;
  }

  .pisu-o-nas-item {
    min-height: unset;
  }

  .projekty-grid article a {
    grid-template-columns: 1fr 1fr;
  }

  .projekty-grid article a .projekt-thumbnail {
    grid-column: 2;
    grid-row: 1;
    /*padding-left: var(--wp--custom--layout--sekcie);*/
  }

  .projekty-grid article a .projekt-content {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
  }

  .projekty-grid article a .projekt-content > *:last-child {
    margin-top: auto;
  }

  .is-style-hero-sekcia,
  .wp-block-media-text.has-media-on-the-right.is-style-hero-sekcia {
    padding: 0;
    display: grid;
    grid-template-columns:
      minmax(var(--wp--custom--spacing--size-s), 1fr) minmax(
        0,
        calc(var(--wp--style--global--wide-size) / 2)
      )
      minmax(0, calc(var(--wp--style--global--wide-size) / 2)) minmax(
        var(--wp--custom--spacing--size-s),
        1fr
      ) !important;
    max-width: none;
  }

  .is-style-hero-sekcia .wp-block-media-text__media {
    grid-column: 1 / 3 !important;
  }

  .is-style-hero-sekcia .wp-block-media-text__content {
    grid-column: 3 !important;
  }

  .is-style-hero-sekcia .wp-block-media-text__content > div {
    padding-right: var(--wp--custom--spacing--size-s) !important;
    padding-left: calc(var(--wp--custom--layout--sekcie) / 1);
  }

  .has-media-on-the-right.is-style-hero-sekcia .wp-block-media-text__media {
    grid-column: 3 / -1 !important;
  }

  .has-media-on-the-right.is-style-hero-sekcia .wp-block-media-text__content {
    grid-column: 2 !important;
  }

  .has-media-on-the-right.is-style-hero-sekcia
    .wp-block-media-text__content
    > div {
    padding-left: 0 !important;
    padding-right: calc(var(--wp--custom--layout--sekcie) / 1) !important;
  }

  /* to isté pre hero bez vnútorného obalu */
  .is-style-hero-sekcia
    .wp-block-media-text__content:not(:has(> div)) {
    padding-right: var(--wp--custom--spacing--size-s) !important;
    padding-left: calc(var(--wp--custom--layout--sekcie) / 1) !important;
  }

  .has-media-on-the-right.is-style-hero-sekcia
    .wp-block-media-text__content:not(:has(> div)) {
    padding-left: 0 !important;
    padding-right: calc(var(--wp--custom--layout--sekcie) / 1) !important;
  }

  footer > div {
    grid-template-columns: 1fr 1fr;
  }

  .cverna-header-logo,
  .cverna-footer-logo {
    width: 160px;
  }

  .right-pc {
    text-align: right;
  }
}

@media only screen and (min-width: 1101px) {
  a.cff-diocese-block {
    padding: var(--wp--custom--spacing--size-l-xl);
  }

  .pisu-o-nas-grid {
    grid-template-columns: repeat(4, 1fr);
    /* 3 stĺpce na väčších obrazovkách */
    grid-template-rows: 1fr 1fr 1fr;
  }

  .pisu-o-nas-item:nth-child(3) {
    grid-column: 3 / 5;
  }

  .pisu-o-nas-item:nth-child(5) {
    grid-column: 2 / 4;
  }

  .pisu-o-nas-item:nth-child(7) {
    grid-column: 1 / 3;
  }

  .pisu-o-nas-item:nth-child(9) {
    grid-column: 4;
  }

  footer > div {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .mega-menu-button-2,
  .mega-menu-button-1 {
    display: none !important;
  }
  .menu-button-1 a,
  .menu-button-2 a {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
}

@media only screen and (min-width: 1600px) {
  .cff-diocess-grid {
    --pocetch: 4;
    gap: var(--wp--custom--spacing--size-m);
  }
}
@media only screen and (max-width: 390px) {
  .is-style-odkaz-so-sipkou span {
    font-size: 0.85rem;
  }
}

@media only screen and (max-width: 700px) {
  .is-style-hero-sekcia
    .wp-block-media-text__content:not(:has(> div))
    + .wp-block-media-text__media {
    height: 280px;
  }

  .is-style-hero-sekcia .wp-block-media-text__content {
    text-align: center;
  }

  .is-style-mobile-left .wp-block-media-text__content {
    text-align: left;
  }

  .is-style-hero-sekcia .wp-block-media-text__content .wp-block-buttons {
    justify-content: center;
    gap: 0.5rem;
  }

  .is-style-mobile-left .wp-block-media-text__content .wp-block-buttons {
    justify-content: start;
  }

  .is-style-hero-sekcia .wp-block-media-text__content .wp-block-buttons > * {
    min-width: 190px;
  }

  .mobpl {
    padding-left: var(--wp--custom--spacing--size-s) !important;
  }
}

/* ========================================
   Hero Carousel
   ======================================== */

.hero-carousel {
  position: relative;
  overflow: hidden;
}

/* Všetky slidy rovnaká výška */
.hero-carousel .slick-track {
  display: flex !important;
}

.hero-carousel .slick-slide {
  height: auto !important;
}

.hero-carousel .slick-slide > div {
  height: 100%;
}

.hero-carousel__slide {
  display: flex !important;
  flex-direction: column-reverse;
  position: relative;
  overflow: hidden;
}

/* Light text pre tmavé pozadia */
.hero-carousel__slide--light-text,
.hero-carousel__slide--light-text h1,
.hero-carousel__slide--light-text h2,
.hero-carousel__slide--light-text h3,
.hero-carousel__slide--light-text p {
  color: #fff !important;
}

.hero-carousel__content {
  padding: 0;
}

.hero-carousel__content-inner {
  position: relative;
  padding: var(--wp--custom--layout--sekcie) var(--wp--custom--spacing--size-s);
  box-sizing: border-box;
}

/* SVG pozadie (plameň) - cez celý slide, prilepené dole vpravo */
.hero-carousel__svg-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: auto 90%;
  background-repeat: no-repeat;
  background-position: right bottom;
  pointer-events: none;
  z-index: 1;
  opacity: 0.35;
}

/* Keď je obrázok vľavo, plameň prilepený k ľavému okraju */
.hero-carousel__slide--media-left .hero-carousel__svg-bg {
  background-position: left bottom;
}

.hero-carousel__text {
  position: relative;
  z-index: 1;
}

.hero-carousel__content {
  display: flex;
  align-items: center;
}

.hero-carousel__media {
  width: 100%;
  overflow: hidden;
  margin: 0;
  /* Na mobile je slide flexbox (column-reverse) a všetky slidy majú rovnakú
     výšku podľa najvyššieho. Bez tohto sa `figure` ako flex položka zmrští
     na zvyšné miesto po texte a štvorcový obrázok sa zospodu oreže —
     obrázok mal správnych 375 × 375 px, ale rám okolo neho len 250 px. */
  flex-shrink: 0;
}

.hero-carousel__media img {
  width: 100%;
  display: block;
  /* Pomer namiesto pevnej výšky, aby sa obrázok neorezával rôzne podľa šírky.
     4:3 = štvorec znížený o štvrtinu (na 375 px displeji 281 namiesto 375 px).
     Platí pre celé mobilné rozloženie (do 699 px), na desktope sa pomer ruší
     cez `aspect-ratio: auto`. */
  aspect-ratio: 4 / 3;
  height: auto;
  object-fit: cover;
}

/* Dots - pod sliderom, na stred */
.hero-carousel .slick-dots {
  position: static !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: var(--wp--custom--spacing--size-3-xs) 0;
}

.hero-carousel .slick-dots li {
  margin: 0;
  padding: 0;
  width: auto;
  height: auto;
}

.hero-carousel .slick-dots li button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(0, 0, 0, 0.15);
  padding: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
  cursor: pointer;
  transition: background 0.2s;
}

.hero-carousel .slick-dots li button:before {
  display: none;
}

.hero-carousel .slick-dots li.slick-active button {
  background: rgba(0, 0, 0, 0.5);
}

/* Arrows */
.hero-carousel__arrow {
  z-index: 10;
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.2) !important;
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  color: #fff;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
}

.hero-carousel__arrow:hover,
.hero-carousel__arrow:focus {
  background: rgba(255, 255, 255, 0.4) !important;
  color: #fff;
}

.hero-carousel .slick-prev {
  left: 16px;
}

.hero-carousel .slick-next {
  right: 16px;
}

.hero-carousel .slick-prev:before,
.hero-carousel .slick-next:before {
  content: none;
}

/* Mobile - obrázok hore, text dole (column-reverse) */
@media only screen and (max-width: 700px) {
  .hero-carousel__content-inner {
    /* Vľavo ako na desktope — rovnaká optická os pre nadpis, perex aj tlačidlá. */
    text-align: left;
    padding-top: var(--wp--custom--spacing--size-3-xs);
    padding-bottom: var(--wp--custom--spacing--size-l);
  }

  .hero-carousel__content-inner .wp-block-buttons {
    justify-content: flex-start;
    gap: 0.5rem;
  }

  .hero-carousel__content-inner .wp-block-buttons > * {
    min-width: 190px;
  }

  .hero-carousel .slick-dots {
    padding: var(--wp--custom--spacing--size-3-xs) 0
      var(--wp--custom--spacing--size-s);
  }
}

/* Desktop layout */
@media only screen and (min-width: 700px) {
  /* Selektor je zámerne dvojtriedny: slick.css sa načítava po tomto súbore
     a na `.slick-slide` dáva `min-height: 1px`. Pri rovnakej váhe by vyhral on
     a výška slidu by sa vôbec neuplatnila. */
  .hero-carousel .hero-carousel__slide {
    display: grid !important;
    grid-template-columns:
      minmax(var(--wp--custom--spacing--size-s), 1fr)
      minmax(0, calc(var(--wp--style--global--wide-size) / 2))
      minmax(0, calc(var(--wp--style--global--wide-size) / 2))
      minmax(var(--wp--custom--spacing--size-s), 1fr);
    /* Výška hero = výška obrázka v pomere 4 : 3.
       Stĺpec s obrázkom je polovica šírky obsahu (max 1440 px), takže výška
       v pomere 4 : 3 je `šírka × 0,375`. Vďaka tomu má plocha pre fotku
       na každom monitore rovnaký tvar a orez sa nemení podľa výšky okna.
       Dolná hranica 420 px drží hero čitateľné na úzkych notebookoch —
       pod šírkou okna 1120 px sa plocha mierne pretiahne do výšky. */
    min-height: 420px;
    min-height: max(420px, min(100vw, 1440px) * 0.375);
    align-items: stretch;
  }

  .hero-carousel__svg-bg {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    z-index: 1;
  }

  .hero-carousel__content {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: center;
    z-index: 2;
  }

  .hero-carousel__content-inner {
    padding-right: var(--wp--custom--layout--sekcie);
    padding-left: 0;
  }

  .hero-carousel__media {
    grid-column: 3 / -1;
    grid-row: 1;
    z-index: 2;
  }

  .hero-carousel__media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Na desktope obrázok vypĺňa stĺpec, pomer 3:2 z mobilu tu neplatí. */
    aspect-ratio: auto;
    object-fit: cover;
  }

  .hero-carousel__media {
    position: relative;
  }

  /* Dots na desktope - absolútne na stred dole */

  /* Media on left variant */
  .hero-carousel__slide--media-left .hero-carousel__content {
    grid-column: 3;
    grid-row: 1;
  }

  .hero-carousel__slide--media-left .hero-carousel__content-inner {
    padding-left: calc(var(--wp--custom--layout--sekcie, 0px) / 1);
    padding-right: var(--wp--custom--spacing--size-s);
  }

  .hero-carousel__slide--media-left .hero-carousel__media {
    grid-column: 1 / 3;
    grid-row: 1;
  }
}

/* ========================================
   Carousel Pause tlačidlo
   ======================================== */
.hero-carousel__pause {
  position: absolute;
  bottom: 12px;
  right: 16px;
  z-index: 20;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.3);
  border: none;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  transition: background 0.2s;
}

.hero-carousel__pause:hover,
.hero-carousel__pause:focus-visible {
  background: rgba(0, 0, 0, 0.5);
}

/* Wrapper pre carousel + pause btn */
.hero-carousel {
  position: relative;
}

/* ========================================
   404 tlačidlá (accessible, bez inline JS)
   ======================================== */
.btn-404 {
  display: inline-block;
  text-decoration: none;
  font-family: "Roboto", Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 32px;
  border-radius: 9999px;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.btn-404--primary {
  background-color: #8a1d03;
  color: #ffffff;
}

.btn-404--primary:hover,
.btn-404--primary:focus-visible {
  background-color: #6e1702;
  color: #ffffff;
}

.btn-404--outline {
  background-color: transparent;
  color: #8a1d03;
  padding: 13px 32px;
  border: 2px solid #8a1d03;
}

.btn-404--outline:hover,
.btn-404--outline:focus-visible {
  background-color: #8a1d03;
  color: #fff;
}

/* Štatistiky: prvý stĺpec bez zvislej čiary (čiara len medzi stĺpcami) */
.wp-block-columns.is-style-statistiky .wp-block-column:first-child::before {
  display: none;
}

/* ===== Pracovné ponuky / Kariéra ===== */
.pracovna-ponuka .post-thumbnail {
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: var(--wp--custom--spacing--size-l);
}
.pracovna-ponuka h1 {
  text-align: left;
  margin-bottom: var(--wp--custom--spacing--size-xs);
}
.pracovna-ponuka .post-meta {
  color: var(--wp--preset--color--gray-4);
  font-size: 0.9rem;
  margin-bottom: var(--wp--custom--spacing--size-m);
}
.pracovna-ponuka .post-meta .post-categories a { color: var(--wp--preset--color--primary-1); }
.pp-uvod { margin: 0 0 var(--wp--custom--spacing--size-l); }

.pp-info {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--wp--custom--spacing--size-m);
  margin: var(--wp--custom--spacing--size-l) 0 var(--wp--custom--spacing--size-xl);
  padding: var(--wp--custom--spacing--size-m) 0;
  border-top: 1px solid var(--wp--preset--color--gray-3);
  border-bottom: 1px solid var(--wp--preset--color--gray-3);
}
@media (max-width: 700px) {
  .pp-info { grid-template-columns: 1fr; gap: var(--wp--custom--spacing--size-s); }
}
.pp-info-box {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.7rem;
}
.pp-info-ikona {
  grid-row: 1 / 3;
  align-self: center;
  color: var(--wp--preset--color--primary-1);
  display: flex;
}
.pp-info-ikona svg { width: 26px; height: 26px; }
.pp-info-label { font-weight: 700; }
.pp-info-hodnota { color: var(--wp--preset--color--gray-5); }

/* Červené nadpisy sekcií v obsahu ponuky (Náplň práce, Požiadavky, Benefity) */
.pp-obsah h2, .pp-obsah h3, .pp-obsah h4 { color: var(--wp--preset--color--primary-1); }
.pp-spat { margin-top: var(--wp--custom--spacing--size-xl); }

/* Archív Kariéra — karty ponúk */
.pp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr));
  gap: var(--wp--style--block-gap, 1.5rem);
}
.pp-karta a {
  display: block;
  height: 100%;
  background-color: var(--wp--preset--color--gray-1);
  padding: var(--wp--custom--spacing--size-s-m);
  text-decoration: none;
  color: inherit;
  transition: background-color 300ms ease;
}
.pp-karta a:hover { background-color: var(--wp--preset--color--primary-2); }
.pp-karta h2 { margin: 0 0 0.6rem; }
.pp-karta-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.9rem;
  margin-bottom: var(--wp--custom--spacing--size-m);
  color: var(--wp--preset--color--gray-5);
  font-size: 0.9rem;
}
.pp-karta-meta span + span::before {
  content: "•";
  margin-right: 0.9rem;
  color: var(--wp--preset--color--gray-4);
}

/* Detail pracovnej ponuky — úpravy 2026-07-24 (všetko vľavo, čierny dátum, súvisiace ponuky) */
.pracovna-ponuka,
.pracovna-ponuka .post-meta { text-align: left; }
.pracovna-ponuka .post-meta { color: var(--wp--preset--color--black); }
.pracovna-ponuka .post-meta .post-categories a { color: var(--wp--preset--color--primary-1); }
.pracovna-ponuka .pp-uvod { max-width: none; margin: 0 0 var(--wp--custom--spacing--size-l); }

.pp-dalsie-wrap {
  padding-top: var(--wp--custom--spacing--size-xl);
  padding-bottom: var(--wp--custom--spacing--size-xl);
  margin-top: var(--wp--custom--spacing--size-xl-2-xl);
}
.pp-dalsie-nadpis {
  text-align: left;
  margin-bottom: var(--wp--custom--spacing--size-l);
}

.pracovna-ponuka .post-meta { justify-content: flex-start; gap: 0.6rem; }

/* Detail ponuky v2 (2026-07-24): čitateľná šírka obsahu vľavo, kompaktný info riadok, karty s obrázkom */
.pracovna-ponuka h1,
.pracovna-ponuka .post-meta,
.pracovna-ponuka .pp-uvod,
.pracovna-ponuka .pp-info,
.pracovna-ponuka .pp-obsah,
.pracovna-ponuka .pp-spat {
  max-width: 820px;
  margin-left: 0;
  margin-right: auto;
}
/* Info riadok — ikony kompaktne vedľa seba, nie roztiahnuté cez celú šírku */
.pracovna-ponuka .pp-info {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 3.5rem;
}

/* Karty ponúk (archív aj „Mohli by vás zaujímať") — 3 stĺpce s náhľadovým obrázkom */
.pp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 980px) { .pp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .pp-grid { grid-template-columns: 1fr; } }
.pp-karta a { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.pp-karta-obr img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.pp-karta-telo { padding: var(--wp--custom--spacing--size-s-m); }
.pp-karta h2, .pp-karta h3 { margin: 0 0 0.6rem; }

/* Detail ponuky v3 (2026-07-24): nadpis a čiary info riadku na celú šírku (perex/obsah ostávajú užšie) */
.pracovna-ponuka h1,
.pracovna-ponuka .pp-info {
  max-width: none;
}

/* Karty ponúk v4 (2026-07-24): ikony pri meta, každý údaj na vlastnom riadku, CTA vždy dole */
.pp-karta a { height: 100%; }
.pp-karta-telo { display: flex; flex-direction: column; flex: 1; }
.pp-karta-meta { flex-direction: column; gap: 0.5rem; }
.pp-karta-riadok { display: flex; align-items: center; gap: 0.5rem; }
.pp-karta-ikona { color: var(--wp--preset--color--primary-1); display: flex; flex-shrink: 0; }
.pp-karta-ikona svg { width: 18px; height: 18px; }
.pp-karta-meta span + span::before { content: none; margin: 0; }
.pp-karta-telo .is-style-odkaz-so-sipkou { margin-top: auto; padding-top: var(--wp--custom--spacing--size-s); }

/* Karty ponúk v5 (2026-07-24): meta normálna veľkosť + čierna, CTA červené, súvisiace v bielych boxoch */
.pp-karta-meta { font-size: inherit; color: var(--wp--preset--color--black); }
.pp-karta-ikona { color: var(--wp--preset--color--primary-1); }
.pp-karta .is-style-odkaz-so-sipkou,
.pp-karta .is-style-odkaz-so-sipkou span { color: var(--wp--preset--color--primary-1); }
.pp-dalsie-wrap .pp-karta a { background-color: var(--wp--preset--color--white); }
.pp-dalsie-wrap .pp-karta a:hover { background-color: var(--wp--preset--color--primary-2); }

/* Karty ponúk v6 (2026-07-24): meta ako na detaile (ikona + názov + hodnota) */
.pp-karta-info {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-bottom: var(--wp--custom--spacing--size-m);
}
.pp-karta-info .pp-info-ikona svg { width: 22px; height: 22px; }

/* Sekcia pracovných ponúk na HP — biele karty na šedom páse */
.cv-ponuky-hp .pp-karta a { background-color: var(--wp--preset--color--white); }
.cv-ponuky-hp .pp-karta a:hover { background-color: var(--wp--preset--color--primary-2); }

/* Najnovšie články „Čo sa deje" + Podobné články — vždy 3 stĺpce (2026-07-24) */
.cv-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .cv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cv-grid { grid-template-columns: 1fr; } }

/* Užší, vľavo zarovnaný perex (napr. Výročné správy) — dobrá čitateľná šírka */
.cv-perex-uzsi { max-width: 44rem; margin-right: auto; }


/* Box V skratke (sidebar poslania) — definicna karta, ciary na celu sirku (2026-07-24) */
.wp-block-group.cv-skratka { padding-left: 0; padding-right: 0; align-items: stretch; }
.cv-skratka > .wp-block-heading {
  padding-left: var(--wp--custom--spacing--size-m-l);
  padding-right: var(--wp--custom--spacing--size-m-l);
  margin-bottom: 0.6rem;
  margin-inline: 0 !important;
  text-align: left;
}
.cv-skratka ul.wp-block-list {
  list-style: none;
  width: 100%;
  margin: 0.4rem 0 0 !important;
  margin-inline: 0 !important;
  padding: 0 !important;
}
.cv-skratka li {
  padding: 0.85rem var(--wp--custom--spacing--size-m-l);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  line-height: 1.45;
}
.cv-skratka li:last-child { border-bottom: 0; }
.cv-skratka li strong {
  display: block;
  color: var(--wp--preset--color--primary-1);
  font-family: var(--wp--preset--font-family--nadpisove-pismo);
  margin-bottom: 0.1rem;
}


/* Vizitka — vsetko dolava (prebija constrained margin auto) (2026-07-24) */
.wp-block-group.cv-vizitka, .wp-block-group.cv-vlavo { text-align: left; align-items: flex-start; }
.wp-block-group.cv-vizitka > *, .wp-block-group.cv-vlavo > * { margin-left: 0 !important; margin-right: 0 !important; }

/* Block styly Kontakt telefon/email — ikona v sivom kruhu (ako v hlavicke) sa doplni automaticky */
.is-style-telefon, .is-style-email {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
.is-style-telefon::before, .is-style-email::before {
  content: "";
  flex: 0 0 auto;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  background-color: #f1eeee;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.15rem 1.15rem;
}
.is-style-telefon::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23676767%22%3E%3Cpath%20d%3D%22M6.62%2010.79c1.44%202.83%203.76%205.14%206.59%206.59l2.2-2.2c.27-.27.67-.36%201.02-.24%201.12.37%202.33.57%203.57.57.55%200%201%20.45%201%201V20c0%20.55-.45%201-1%201-9.39%200-17-7.61-17-17%200-.55.45-1%201-1h3.5c.55%200%201%20.45%201%201%200%201.25.2%202.45.57%203.57.11.35.03.74-.25%201.02l-2.2%202.2z%22%2F%3E%3C%2Fsvg%3E"); }
.is-style-email::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23676767%22%3E%3Cpath%20d%3D%22M20%204H4c-1.1%200-1.99.9-1.99%202L2%2018c0%201.1.9%202%202%202h16c1.1%200%202-.9%202-2V6c0-1.1-.9-2-2-2zm0%204l-8%205-8-5V6l8%205%208-5v2z%22%2F%3E%3C%2Fsvg%3E"); }

/**
 * Kontaktné riadky s ikonou: podčiarknutie až pri prejdení myšou.
 * Že ide o telefón alebo e-mail, hovorí ikona vedľa — čiara pod každým
 * riadkom je len šum.
 */
.is-style-telefon a,
.is-style-email a {
  text-decoration: none;
}

.is-style-telefon a:hover,
.is-style-email a:hover,
.is-style-telefon a:focus-visible,
.is-style-email a:focus-visible {
  text-decoration: underline;
}

/* Na broskyňovom podklade by sivá ikona v sivom kruhu splynula — kruh je biely
   a ikona v základnej červenej, rovnako ako odkaz vedľa nej. */
.has-primary-2-background-color .is-style-telefon::before,
.has-primary-2-background-color .is-style-email::before {
  background-color: var(--wp--preset--color--white);
}

.has-primary-2-background-color .is-style-telefon::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%238A1D03%22%3E%3Cpath%20d%3D%22M6.62%2010.79c1.44%202.83%203.76%205.14%206.59%206.59l2.2-2.2c.27-.27.67-.36%201.02-.24%201.12.37%202.33.57%203.57.57.55%200%201%20.45%201%201V20c0%20.55-.45%201-1%201-9.39%200-17-7.61-17-17%200-.55.45-1%201-1h3.5c.55%200%201%20.45%201%201%200%201.25.2%202.45.57%203.57.11.35.03.74-.25%201.02l-2.2%202.2z%22%2F%3E%3C%2Fsvg%3E");
}

.has-primary-2-background-color .is-style-email::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%238A1D03%22%3E%3Cpath%20d%3D%22M20%204H4c-1.1%200-1.99.9-1.99%202L2%2018c0%201.1.9%202%202%202h16c1.1%200%202-.9%202-2V6c0-1.1-.9-2-2-2zm0%204l-8%205-8-5V6l8%205%208-5v2z%22%2F%3E%3C%2Fsvg%3E");
}

/* QR kód v karte foriem podpory — vacsi ako ikony (prebija max-width sivy-boxu) */
.is-style-sivy-box-s-paddingom .cv-qr { margin-top: var(--wp--custom--spacing--size-s); }
.is-style-sivy-box-s-paddingom .cv-qr img { max-width: 170px !important; width: 170px; height: auto; }

/* Hero carousel s jediným slajdom — skryť navigačné bodky (nie je čo prepínať) (2026-07-25) */
.hero-carousel .slick-dots:has(li:only-child) { display: none !important; }

/* IBAN s tlačidlom na kopírovanie do schránky (2026-07-25) — pridáva JS automaticky */
.cv-iban {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.cv-iban-cislo {
  white-space: nowrap;
}

/* prebíja globálne button štýly témy (červené pozadie, uppercase, veľký padding) */
button.cv-iban-kopiruj {
  /* nad neviditeľným overlay klikateľného boxu (odkaz-so-sipkou ::before, z-index 1),
     inak by klik na kopírovanie spustil odkaz celej karty */
  position: relative;
  z-index: 2;
  width: auto;
  background-color: transparent;
  color: var(--wp--preset--color--gray-5);
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 0.4rem;
  padding: 0.25rem;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  cursor: pointer;
  vertical-align: middle;
  flex: 0 0 auto;
  text-transform: none;
  transition: background-color 0.15s ease, color 0.15s ease,
    border-color 0.15s ease;
}

button.cv-iban-kopiruj:hover,
button.cv-iban-kopiruj.je-skopirovane {
  background-color: var(--wp--preset--color--primary-1) !important;
  color: var(--wp--preset--color--white) !important;
  border-color: var(--wp--preset--color--primary-1);
}

button.cv-iban-kopiruj:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary-1);
  outline-offset: 2px;
}

button.cv-iban-kopiruj svg {
  display: block;
}

/* na tmavom pozadí (napr. tmavočervená sekcia) */
.has-primary-1-background-color button.cv-iban-kopiruj {
  color: var(--wp--preset--color--white);
  border-color: rgba(255, 255, 255, 0.4);
}

.has-primary-1-background-color button.cv-iban-kopiruj:hover,
.has-primary-1-background-color button.cv-iban-kopiruj.je-skopirovane {
  background-color: var(--wp--preset--color--white) !important;
  color: var(--wp--preset--color--primary-1) !important;
  border-color: var(--wp--preset--color--white);
}

/* Telefónne čísla sa nikdy nelámu uprostred (2026-07-25) */
a[href^='tel:'] {
  white-space: nowrap;
}

/* Mriežka kariet — rovnaká šírka aj výška bez ohľadu na počet (2026-07-25) */
.cv-karty {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--wp--custom--spacing--size-m);
}
.cv-karty > * {
  margin: 0 !important;
  height: 100%;
}
@media (max-width: 900px) {
  .cv-karty { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .cv-karty { grid-template-columns: 1fr; }
}

/* Variant mriežky pre 4 karty — všetky v jednom riadku */
.cv-karty-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--wp--custom--spacing--size-m);
}
.cv-karty-4 > * {
  margin: 0 !important;
  height: 100%;
}
@media (max-width: 1100px) {
  .cv-karty-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .cv-karty-4 { grid-template-columns: 1fr; }
}

/**
 * Varianta mriežky bez kariet — položky oddeľuje jemná linka.
 * Používa sa tam, kde by ďalšia sivá karta v poradí splynula s tou nad ňou.
 */
.cv-karty-4.cv-karty-linky {
  gap: 0;
}

.cv-karty-4.cv-karty-linky > * {
  padding-inline: var(--wp--custom--spacing--size-m);
  border-left: 1px solid var(--wp--preset--color--gray-3);
}

.cv-karty-4.cv-karty-linky > *:first-child {
  padding-left: 0;
  border-left: 0;
}

.cv-karty-linky img {
  max-width: 44px !important;
}

/* dva stĺpce — linka vľavo len pri druhom, medzi riadkami vodorovná */
@media (max-width: 1100px) {
  .cv-karty-4.cv-karty-linky > * {
    padding-block: var(--wp--custom--spacing--size-m);
  }

  .cv-karty-4.cv-karty-linky > *:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .cv-karty-4.cv-karty-linky > *:nth-child(-n + 2) {
    padding-top: 0;
  }

  .cv-karty-4.cv-karty-linky > *:nth-child(n + 3) {
    border-top: 1px solid var(--wp--preset--color--gray-3);
  }
}

/* jeden stĺpec — len vodorovné linky */
@media (max-width: 600px) {
  .cv-karty-4.cv-karty-linky > *,
  .cv-karty-4.cv-karty-linky > *:nth-child(-n + 2) {
    padding-inline: 0;
    padding-top: var(--wp--custom--spacing--size-m);
    border-left: 0;
    border-top: 1px solid var(--wp--preset--color--gray-3);
  }

  .cv-karty-4.cv-karty-linky > *:first-child {
    padding-top: 0;
    border-top: 0;
  }
}

/* Rozbaľovacie menu sa otvára doľava od položky, aby nepretekalo za pravý okraj
   stránky (spôsobovalo horizontálny scroll) — 2026-07-25 */
@media (min-width: 901px) {
  #mega-menu-wrap-hlavne-menu #mega-menu-hlavne-menu > li.mega-menu-flyout > ul.mega-sub-menu {
    left: auto;
    right: 0;
  }
}

/* Vložená mapa (Google Maps iframe) — responzívna, zaoblená (2026-07-25) */
.cv-mapa { width: 100%; }


/* SVG mapa stredísk (2026-07-25) — obrys Natural Earth (public domain) */
.cv-mapa-svg { width: 100%; height: auto; display: block; }
.cv-mapa-kraj {
  fill: var(--wp--preset--color--gray-2);
  stroke: var(--wp--preset--color--gray-3);
  stroke-width: 1.5;
}
.cv-mapa-pin { fill: var(--wp--preset--color--primary-1); transition: r 0.15s ease; }
.cv-mapa-popis {
  font-family: var(--wp--preset--font-family--bezny-text);
  font-size: 20px;
  font-weight: 600;
  fill: var(--wp--preset--color--black);
}
.cv-mapa-svg a { text-decoration: none; }
.cv-mapa-svg a:hover .cv-mapa-pin { r: 9; }
.cv-mapa-svg a:hover .cv-mapa-popis { fill: var(--wp--preset--color--primary-1); text-decoration: underline; }
.cv-mapa-svg a:focus-visible .cv-mapa-pin { outline: 2px solid var(--wp--preset--color--primary-1); }

/* Mapa stredísk — ťahanie bodov v editore */
.cv-mapa-editor .cv-mapa-bod { cursor: grab; }
.cv-mapa-editor .cv-mapa-bod:hover .cv-mapa-pin { r: 9; }
.cv-mapa-editor .cv-mapa-bod.je-tahany { cursor: grabbing; }
.cv-mapa-editor .cv-mapa-bod.je-tahany .cv-mapa-pin { r: 10; opacity: 0.85; }
.cv-mapa-tip {
  margin-top: var(--wp--custom--spacing--size-xs);
  font-size: 0.85rem;
  color: var(--wp--preset--color--gray-5);
}

/* ===== Karty osôb (block style pre skupinu) — mriežka kontaktov na oddelenia ===== */
.wp-block-group.is-style-karty-osob {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: var(--wp--custom--spacing--size-m);
}

.is-style-karty-osob > * {
  display: grid;
  grid-template-columns: 64px 1fr;
  column-gap: 0.9rem;
  row-gap: 0.3rem;
  align-content: start;
  padding: var(--wp--custom--spacing--size-m);
  background: var(--wp--preset--color--gray-1);
  border-radius: 0.75rem;
}

/* názov oddelenia a kontaktné riadky idú cez celú kartu, meno a funkcia vedľa fotky */
.is-style-karty-osob > * > h3 {
  grid-column: 1 / -1;
  margin: 0 0 0.35rem;
  color: var(--wp--preset--color--gray-5);
  font-family: Roboto, sans-serif;
  font-weight: 600;
  line-height: 1.35;
}

.is-style-karty-osob > * > figure {
  grid-column: 1;
  align-self: start;
  margin: 0;
}

/* na sivom podklade sekcie musia byť karty biele, inak splynú */
.has-gray-1-background-color .is-style-karty-osob > * {
  background: var(--wp--preset--color--white);
}

.is-style-karty-osob > * > figure img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
}

.is-style-karty-osob > * > p {
  grid-column: 2;
  margin: 0;
  line-height: 1.4;
}

.is-style-karty-osob > * > .is-style-telefon,
.is-style-karty-osob > * > .is-style-email,
.is-style-karty-osob > * > .cv-osoba-adresa {
  grid-column: 1 / -1;
}

/* Meno a funkcia sú jedna bunka vedľa fotky — medzera medzi nimi je vždy rovnaká */
.is-style-karty-osob > * > .cv-osoba-hlavicka,
.cv-ludia-vizitky > * > .cv-osoba-hlavicka {
  grid-column: 2;
  align-self: center;
  /* medzeru drží gap, nie margin — ten by prehral so `> p { margin: 0 }` */
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.is-style-karty-osob > * > .cv-osoba-hlavicka > p,
.cv-ludia-vizitky > * > .cv-osoba-hlavicka > p {
  margin: 0;
  line-height: 1.4;
}

/* Meno vo vizitkách o krok väčšie (normal → velkost-h6) — funkcia pod ním
   má vlastnú (menšiu) veľkosť nižšie, tá ostáva nedotknutá. */
.cv-ludia-vizitky > * > .cv-osoba-hlavicka > p:first-child {
  font-size: var(--wp--preset--font-size--velkost-h-6);
}

/**
 * Funkcia pod menom je doplnková informácia — meno a kontakt sú to hlavné.
 * Preto menšie a sivé; veľkými písmenami nie, funkcie ako „odborný referent
 * pre vzťah so zdravotnými poisťovňami" sa v kapitálkach čítajú ťažko.
 */
.cv-osoba-hlavicka > .cv-osoba-funkcia {
  font-size: 0.9375rem;
  line-height: 1.35;
  color: var(--wp--preset--color--gray-5);
}

/* Prvý kontaktný riadok sa odrazí od fotky, ďalšie ostanú pri sebe */
.is-style-karty-osob > * > .is-style-telefon,
.is-style-karty-osob > * > .is-style-email {
  margin-top: 0.7rem;
}

.is-style-karty-osob > * > .is-style-telefon + .is-style-telefon,
.is-style-karty-osob > * > .is-style-telefon + .is-style-email,
.is-style-karty-osob > * > .is-style-email + .is-style-email {
  margin-top: 0.15rem;
}

.is-style-karty-osob > * > .cv-osoba-adresa {
  margin-top: 0.5rem;
  color: var(--wp--preset--color--gray-5);
}

@media (max-width: 480px) {
  .wp-block-group.is-style-karty-osob { grid-template-columns: 1fr; }
}

/* ===== Kontaktné karty (pracoviská, strediská) — mriežka bez fotky ===== */
.wp-block-group.is-style-karty-kontakt {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: var(--wp--custom--spacing--size-m);
}

.is-style-karty-kontakt > * {
  padding: var(--wp--custom--spacing--size-m);
  background: var(--wp--preset--color--gray-1);
  border-radius: 0.75rem;
}

.has-gray-1-background-color .is-style-karty-kontakt > * {
  background: var(--wp--preset--color--white);
}

.is-style-karty-kontakt > * > h3 {
  margin: 0 0 0.6rem;
  line-height: 1.3;
}

/* v karte podčiarkujeme až pri prejdení myšou — inak je karta samá linka */
.is-style-karty-kontakt > * > h3 a,
.is-style-karty-kontakt > * > p > a:not([href^="tel:"]):not([href^="mailto:"]) {
  text-decoration: none;
}

.is-style-karty-kontakt > * > h3 a:hover,
.is-style-karty-kontakt > * > h3 a:focus-visible,
.is-style-karty-kontakt > * > p > a:hover,
.is-style-karty-kontakt > * > p > a:focus-visible {
  text-decoration: underline;
}

.is-style-karty-kontakt > * > p {
  margin: 0 0 0.35rem;
  line-height: 1.45;
}

.is-style-karty-kontakt > * > p:last-child {
  margin-bottom: 0;
}

@media (max-width: 480px) {
  .wp-block-group.is-style-karty-kontakt { grid-template-columns: 1fr; }
}

/* ===== Ľudia (blok „Ľudia") ===== */
/* fotka v karte — v bloku ide priamo <img>/<span>, nie <figure> ako v ručne písaných kartách */
.is-style-karty-osob > * > .cv-osoba-fotka {
  grid-column: 1;
  align-self: start;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
}

.cv-osoba-bez-fotky {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--wp--preset--color--gray-2);
  color: var(--wp--preset--color--gray-5);
  font-family: var(--wp--preset--font-family--nadpisove-pismo, serif);
  font-size: 1.25rem;
  line-height: 1;
}

.cv-ludia-skupina {
  margin: var(--wp--custom--spacing--size-xl) auto var(--wp--custom--spacing--size-m);
  /* rovnaká veľkosť, akú mali ručne písané nadpisy úsekov (velkost-h-6) */
  font-size: var(--wp--preset--font-size--velkost-h-6, 1.5rem);
  line-height: 1.3;
}

.cv-ludia-skupina:first-child {
  margin-top: 0;
}

/* vizitky — jeden človek pod druhým, bez mriežky */
.cv-ludia-vizitky > * {
  display: grid;
  grid-template-columns: 64px 1fr;
  column-gap: 0.9rem;
  row-gap: 0.3rem;
  align-content: start;
  padding-block: var(--wp--custom--spacing--size-m);
  border-bottom: 1px solid var(--wp--preset--color--gray-2);
}

.cv-ludia-vizitky > *:last-child {
  border-bottom: 0;
}

.cv-ludia-vizitky > * > h3 {
  grid-column: 1 / -1;
  margin: 0 0 0.35rem;
  color: var(--wp--preset--color--gray-5);
  font-family: Roboto, sans-serif;
  font-weight: 600;
}

.cv-ludia-vizitky > * > .cv-osoba-fotka {
  grid-column: 1;
  align-self: start;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
}

.cv-ludia-vizitky > * > p {
  grid-column: 2;
  margin: 0;
  line-height: 1.4;
}

.cv-ludia-vizitky > * > .is-style-telefon,
.cv-ludia-vizitky > * > .is-style-email,
.cv-ludia-vizitky > * > .cv-osoba-adresa {
  grid-column: 1 / -1;
}

.cv-ludia-vizitky > * > .is-style-telefon,
.cv-ludia-vizitky > * > .is-style-email {
  margin-top: 0.6rem;
}

.cv-ludia-vizitky > * > .is-style-telefon + .is-style-telefon,
.cv-ludia-vizitky > * > .is-style-telefon + .is-style-email,
.cv-ludia-vizitky > * > .is-style-email + .is-style-email {
  margin-top: 0.15rem;
}

/* Zvýraznená vizitka jedného človeka (napr. "Nie ste si istí, kam patríte?")
   — rovnaký blok/dáta ako bežný zoznamový riadok vyššie, len väčšia fotka,
   vycentrované, bez spodného pásika (ten dáva zmysel len pri viacerých za sebou). */
.cv-vizitka-vyrazna {
  max-width: 100%;
}

.cv-vizitka-vyrazna .cv-ludia-vizitky > * {
  grid-template-columns: 88px 1fr;
  align-items: center;
  border-bottom: none;
  padding-block: 0;
}

.cv-vizitka-vyrazna .cv-ludia-vizitky > * > .cv-osoba-fotka {
  width: 88px;
  height: 88px;
}

/* ===== Voľné pozície na úvodnej stránke — zoznam, nie obrázkové karty =====
   Sekcia článkov nad ňou je obrazová (príbehy). Ponuka práce je rozhodovanie
   podľa faktov, tak ju aj podávame: pozícia veľkým písmom, vedľa nej údaje. */
.pp-zoznam {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--wp--preset--color--gray-3);
}

.pp-zoznam-polozka {
  border-bottom: 1px solid var(--wp--preset--color--gray-3);
}

.pp-zoznam-polozka > a {
  position: relative;
  display: grid;
  grid-template-columns: minmax(14rem, 1.1fr) 2fr;
  align-items: center;
  gap: var(--wp--custom--spacing--size-m);
  padding: var(--wp--custom--spacing--size-m) 3rem var(--wp--custom--spacing--size-m) var(--wp--custom--spacing--size-s);
  text-decoration: none;
  color: inherit;
  transition: background-color 200ms ease;
}

/**
 * Výpis ponúk na broskyňovom podklade.
 *
 * Sivé linky sú studené a na teplom podklade splynú (kontrast 1,09).
 * Biela by pomohla len málo (1,20), tak linku ladíme do základnej červenej —
 * teplý tón sedí k podkladu a je vidieť (1,56). Prejdenie myšou musí byť tiež
 * iné než broskyňová, inak by nebolo vidieť vôbec.
 */
.has-primary-2-background-color .pp-zoznam,
.has-primary-2-background-color .pp-zoznam-polozka {
  border-color: rgba(138, 29, 3, 0.25);
}

.has-primary-2-background-color .pp-zoznam-polozka > a:hover,
.has-primary-2-background-color .pp-zoznam-polozka > a:focus-visible {
  background-color: var(--wp--preset--color--white);
}

.pp-zoznam-polozka > a:hover,
.pp-zoznam-polozka > a:focus-visible {
  background-color: var(--wp--preset--color--primary-2);
}

/* šípka napravo — posunie sa pri prejdení myšou */
.pp-zoznam-polozka > a::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  width: 0.7rem;
  height: 0.7rem;
  margin-top: -0.35rem;
  border-right: 2px solid var(--wp--preset--color--primary-1);
  border-bottom: 2px solid var(--wp--preset--color--primary-1);
  transform: rotate(-45deg);
}

.pp-zoznam-pozicia {
  font-family: var(--wp--preset--font-family--nadpisove-pismo, serif);
  font-size: var(--wp--preset--font-size--velkost-h-6, 1.25rem);
  line-height: 1.3;
  color: var(--wp--preset--color--primary-1);
}

.pp-zoznam-udaje {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--wp--custom--spacing--size-s);
}

.pp-udaj {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.pp-udaj-label {
  /* 0.78rem bolo pri našej cieľovej skupine (seniori) na hrane čitateľnosti */
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gray-5);
}

.pp-udaj-hodnota {
  font-weight: 600;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .pp-zoznam-polozka > a {
    grid-template-columns: 1fr;
    gap: var(--wp--custom--spacing--size-s);
  }
  .pp-zoznam-udaje { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .pp-zoznam-udaje { grid-template-columns: 1fr; }
}

/* ===== Projekty na úvodnej stránke — kompaktný pás (varianta A, 2026-07-25) =====
   Pôvodne: obrázok cez pol plochy, žiadne fakty, tri identické pásy, sekcia 1707 px.
   Teraz: menší obrázok, striedavá strana, štítok stavu a obdobie realizácie. */
.projekty-grid .projekt-stav {
  /* obsah karty je flex column — bez align-self by sa štítok roztiahol cez celú šírku */
  display: inline-block;
  align-self: flex-start;
  margin: 0 0 var(--wp--custom--spacing--size-s);
  padding: 0.2rem 0.7rem;
  border-radius: 2rem;
  font-size: 0.82rem;
  line-height: 1.5;
}

.projekt-stav--prebieha {
  background: var(--wp--preset--color--primary-3);
  color: var(--wp--preset--color--primary-1);
}

.projekt-stav--planovany {
  background: var(--wp--preset--color--primary-4);
  color: var(--wp--preset--color--primary-7);
}

.projekt-stav--dokonceny {
  background: var(--wp--preset--color--gray-2);
  color: var(--wp--preset--color--gray-5);
}

/* pätka karty: obdobie vľavo, odkaz vpravo, nad nimi jemná linka */
.projekty-grid .projekt-pata {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--wp--custom--spacing--size-s) var(--wp--custom--spacing--size-m);
  margin-top: auto;
  padding-top: var(--wp--custom--spacing--size-s);
  border-top: 1px solid rgba(138, 29, 3, 0.18);
}

.projekty-grid .projekt-pata .is-style-odkaz-so-sipkou {
  margin: 0 0 0 auto; /* vždy vpravo, aj keď karta nemá Obdobie (žiadny súrodenec vľavo) */
}

.projekt-fakt {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

.projekt-fakt-label {
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gray-5);
}

.projekt-fakt-hodnota {
  font-weight: 600;
  line-height: 1.35;
  color: var(--wp--preset--color--black); /* karta je celá jeden <a> s červeným elements.link farbou - tu to prebijeme, červená ostáva len na nadpise a "Viac o projekte" */
}

/* perex už nepotrebuje veľkú medzeru — odstup rieši pätka */
.projekty-grid .post-excerpt {
  margin-bottom: var(--wp--custom--spacing--size-m);
}

@media (min-width: 782px) {
  /* obrázok je vedľajší — text dostane väčšiu časť pásu */
  .projekty-grid article a {
    grid-template-columns: 1.35fr 1fr;
    align-items: stretch;
  }

  /* každý druhý pás má obrázok vľavo, aby sa sekcia nečítala ako tri kópie */
  .projekty-grid article:nth-child(even) a {
    grid-template-columns: 1fr 1.35fr;
  }

  .projekty-grid article:nth-child(even) a .projekt-thumbnail {
    grid-column: 1;
    grid-row: 1;
  }

  .projekty-grid article:nth-child(even) a .projekt-content {
    grid-column: 2;
    grid-row: 1;
  }

  /* výšku pásu určuje text, nie obrázok — inak si ju diktuje pomer strán fotky */
  .projekty-grid article a .projekt-thumbnail {
    position: relative;
    overflow: hidden;
    min-height: 15rem;
  }

  .projekty-grid article a .projekt-thumbnail img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
  }
}

/* ===== Hover na projektových pásoch + odhaľovanie obsahu (2026-07-25) =====
   Bez posunov a zväčšovania — mení sa iba plocha, na ktorú sa klikne. */
.projekty-grid article a {
  transition: background-color 250ms ease;
}

.projekty-grid article a:hover,
.projekty-grid article a:focus-visible {
  background-color: color-mix(in srgb, var(--wp--preset--color--primary-2) 86%, var(--wp--preset--color--primary-1));
}

.projekty-grid article a:hover .is-style-odkaz-so-sipkou span,
.projekty-grid article a:focus-visible .is-style-odkaz-so-sipkou span {
  text-decoration: underline;
}

/* ===== Odhaľovanie pri načítaní a scrollovaní =====
   Triedy pridáva JS až po načítaní — bez JS a pri „obmedziť pohyb" je obsah
   normálne viditeľný, nikdy sa nestane, že by ostal skrytý. */
.cv-odhal {
  opacity: 0;
  transform: translateY(1.25rem);
}

.cv-odhal-pripravene {
  transition: opacity 600ms ease, transform 600ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.cv-odhal.je-viditelny {
  opacity: 1;
  transform: none;
}

/* pri „obmedziť pohyb" nesmie nič zostať priehľadné */
@media (prefers-reduced-motion: reduce) {
  .cv-odhal,
  .cv-odhal.je-viditelny {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Odkaz so šípkou nie je nikdy tučný — ani keď redaktor v editore použije tučné písmo. */
.is-style-odkaz-so-sipkou,
.is-style-odkaz-so-sipkou a,
.is-style-odkaz-so-sipkou span,
.is-style-odkaz-so-sipkou strong {
  font-weight: 400;
}

/* Kontaktné karty v sekcii „Neviete si vybrať?" — biela plocha na gradiente */
.cv-kontakt-karta {
  padding: var(--wp--custom--spacing--size-m-l);
  border-radius: 0.75rem;
}

.cv-kontakt-karta > *:first-child {
  margin-top: 0;
}

/* Kontakt a veta pod ním patria k sebe — predvolená medzera medzi blokmi
   (27 px) ich zbytočne roztrhne. */
.cv-kontakt-karta > * + * {
  margin-top: var(--wp--custom--spacing--size-2-xs);
}

.cv-kontakt-karta > *:last-child {
  margin-bottom: 0;
  color: var(--wp--preset--color--gray-5);
}

/**
 * Telefón a e-mail v kontaktných kartách.
 *
 * V karte je klikateľné takmer všetko, takže podčiarknutie pod každým riadkom
 * je len šum — čo to je, hovorí ikona vedľa. Necháme farbu a podčiarkneme až
 * pri prejdení myšou alebo pri zameraní klávesnicou.
 */
.cv-kontakt-karta .is-style-telefon a,
.cv-kontakt-karta .is-style-email a,
.is-style-karty-osob .is-style-telefon a,
.is-style-karty-osob .is-style-email a,
.cv-ludia-vizitky .is-style-telefon a,
.cv-ludia-vizitky .is-style-email a {
  color: var(--wp--preset--color--primary-1);
  text-decoration: none;
}

.cv-kontakt-karta .is-style-telefon a:hover,
.cv-kontakt-karta .is-style-email a:hover,
.cv-kontakt-karta .is-style-telefon a:focus-visible,
.cv-kontakt-karta .is-style-email a:focus-visible,
.is-style-karty-osob .is-style-telefon a:hover,
.is-style-karty-osob .is-style-email a:hover,
.is-style-karty-osob .is-style-telefon a:focus-visible,
.is-style-karty-osob .is-style-email a:focus-visible,
.cv-ludia-vizitky .is-style-telefon a:hover,
.cv-ludia-vizitky .is-style-email a:hover,
.cv-ludia-vizitky .is-style-telefon a:focus-visible,
.cv-ludia-vizitky .is-style-email a:focus-visible {
  text-decoration: underline;
}

/* Sivý box na sivej sekcii by splynul — na gray-1 podklade je biely. */
.has-gray-1-background-color .is-style-sivy-box-s-paddingom {
  background-color: var(--wp--preset--color--white);
}

/* Karty článkov na sivej sekcii by splynuli s podkladom — sú biele. */
.has-gray-1-background-color .cv-grid > article,
.has-gray-1-background-color .post-in-list {
  background-color: var(--wp--preset--color--white);
}

/* ===== Detail zariadenia (obsah z katalógu zariadenia.charita.sk) =====
   Obsah prichádza cez REST API ako holé HTML bez tried, takže mu tu dávame
   typografiu témy. H2 z katalógu sa menia na záložky, H3 sú nadpisy vnútri. */

.facility-tabs {
  margin-top: var(--wp--custom--spacing--size-l);
}

/* --- záložky --- */
/**
 * Pruh so záložkami sa dá na úzkych displejoch posúvať do strán.
 *
 * Sivú linku pod záložkami kreslíme tieňom, nie rámom: rám by zaberal miesto
 * a podčiarknutie aktívnej záložky, ktoré cezeň zámerne presahuje, by pruh
 * pretiahlo o 1 px. To by stačilo na zvislý posuvník — pri `overflow-x: auto`
 * totiž prehliadač povýši na `auto` aj druhú os.
 */
.facility-tabs .tabs-navigation {
  gap: 0;
  border-bottom: 0;
  box-shadow: inset 0 -1px 0 var(--wp--preset--color--gray-3);
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.facility-tabs .tabs-navigation .tab-button {
  padding: 0.7rem 1.2rem;
  font-family: var(--wp--preset--font-family--nadpisove-pismo, serif);
  font-size: 1.125rem;
  font-weight: 400;
  white-space: nowrap;
  border-bottom-width: 2px;
  margin-bottom: 0;
}

.facility-tabs .tabs-navigation .tab-button.active {
  color: var(--wp--preset--color--primary-1);
  border-bottom-color: var(--wp--preset--color--primary-1);
}

/* --- obsah záložky --- */
.facility-tabs .tabs-navigation {
  margin-bottom: 0;
}

/* obal panelov mal odshora 54 px z globálneho odsadenia témy */
.facility-tabs .tabs-content {
  padding-top: 0;
}

.facility-tabs .tab-pane {
  padding-top: var(--wp--custom--spacing--size-m);
}

/* nadpisy vnútri záložky sú podnadpisy, nie hlavné nadpisy stránky */
.facility-tabs .tab-pane h3 {
  font-size: var(--wp--preset--font-size--velkost-h-5, 1.75rem);
  line-height: 1.25;
  margin: var(--wp--custom--spacing--size-xl) 0 var(--wp--custom--spacing--size-s);
}

.facility-tabs .tab-pane > h3:first-child,
.facility-tabs .tab-pane > *:first-child {
  margin-top: 0;
}

.facility-tabs .tab-pane p {
  max-width: 68ch;
  line-height: 1.65;
  margin: 0 0 var(--wp--custom--spacing--size-s);
}

.facility-tabs .tab-pane ul {
  max-width: 68ch;
  margin: 0 0 var(--wp--custom--spacing--size-m);
  padding-left: 1.35rem;
  list-style: none;
}

.facility-tabs .tab-pane ul li {
  position: relative;
  margin-bottom: 0.45rem;
  line-height: 1.55;
}

.facility-tabs .tab-pane ul li::before {
  content: "";
  position: absolute;
  left: -1.35rem;
  top: 0.62em;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: var(--wp--preset--color--primary-1);
}

.facility-tabs .tab-pane img {
  border-radius: 0.75rem;
  margin: var(--wp--custom--spacing--size-m) 0;
}

.facility-tabs .tab-pane figure {
  margin: 0;
}

@media (max-width: 600px) {
  .facility-tabs .tabs-navigation .tab-button {
    padding: 0.75rem 1rem;
    font-size: 1rem;
  }
}

/* --- obsah písaný v Gutenbergu, bez vlastných tried ---
   Štruktúra: H3 = názov služby, hneď za ním odstavec s faktami,
   H4 = medzinadpis, zoznam = úkony. Formátovanie rieši len CSS. */

/* každá služba začína nadpisom — oddelíme ju linkou */
.facility-tabs .tab-pane h3 {
  padding-top: var(--wp--custom--spacing--size-l);
  border-top: 1px solid var(--wp--preset--color--gray-3);
}

.facility-tabs .tab-pane > h3:first-child {
  padding-top: 0;
  border-top: 0;
}

/* Parametre služby: zoznam hneď za jej nadpisom sa vykreslí ako štítky vedľa seba.
   V editore je to obyčajný zoznam — každý údaj vlastná odrážka. */
/**
 * Parametre služby — štýl bloku „Parametre služby" na zozname.
 * Redaktor ho vyberá v editore, nezávisí od toho, čo je nad zoznamom.
 */
.facility-tabs .tab-pane ul.is-style-parametre {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  max-width: none;
  margin: 0 0 1rem;
  padding-left: 0;
  list-style: none;
}

.facility-tabs .tab-pane ul.is-style-parametre li {
  margin-bottom: 0;
  padding: 0.35rem 0.9rem;
  border-radius: 2rem;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.5;
  /* prostredné údaje (forma, čas) */
  background: var(--wp--preset--color--primary-4);
  color: var(--wp--preset--color--primary-7);
}

/* prvý údaj je odkaz na zákon — formalita, preto neutrálna sivá */
.facility-tabs .tab-pane ul.is-style-parametre li:first-child {
  background: var(--wp--preset--color--gray-2);
  color: var(--wp--preset--color--gray-5);
}

/* posledný je kapacita — najčastejšia otázka, nech je vidieť hneď */
.facility-tabs .tab-pane ul.is-style-parametre li:last-child {
  background: var(--wp--preset--color--primary-1);
  color: var(--wp--preset--color--white);
}

.facility-tabs .tab-pane ul.is-style-parametre li::before {
  content: none;
}

.facility-tabs .tab-pane h4 {
  margin: var(--wp--custom--spacing--size-m) 0 0.5rem;
  font-family: Roboto, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--wp--preset--color--black);
}


/* Mriežka kariet so šípkovým odkazom: odkaz drží pri spodnej hrane karty,
   aby sa pri rôzne dlhých nadpisoch odkazy "schodovito" nerozbiehali.
   Utilita sa pridáva k .cv-karty / .cv-karty-4 na obaľujúcu skupinu. */
.cv-karty.cv-karty-odkaz-dole > *,
.cv-karty-4.cv-karty-odkaz-dole > * {
  display: flex;
  flex-direction: column;
}

.cv-karty.cv-karty-odkaz-dole > * > .is-style-odkaz-so-sipkou:last-child,
.cv-karty-4.cv-karty-odkaz-dole > * > .is-style-odkaz-so-sipkou:last-child {
  margin-top: auto;
  padding-top: var(--wp--custom--spacing--size-s);
}

/* Výber oddelenia nad výpisom ľudí (blok „Ľudia" so zoskupením, 4+ skupín).
   Pri dlhom páse kontaktov sa dá skočiť rovno na hľadané oddelenie. */
.cv-ludia-navigacia {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp--custom--spacing--size-2-xs) var(--wp--custom--spacing--size-s);
  margin-bottom: var(--wp--custom--spacing--size-l);
  padding: var(--wp--custom--spacing--size-s) 0;
  border-top: 1px solid var(--wp--preset--color--gray-3);
  border-bottom: 1px solid var(--wp--preset--color--gray-3);
}

.cv-ludia-navigacia label {
  font-family: var(--wp--preset--font-family--nadpisove-pismo);
  color: var(--wp--preset--color--primary-1);
  flex-shrink: 0;
  /* téma dáva každému label spodný margin — v centrovanom riadku by ho vytlačil nahor */
  margin-bottom: 0;
  line-height: 1.2;
}

.cv-ludia-navigacia select.cv-ludia-vyber {
  width: auto;
  min-width: 22rem;
  max-width: 100%;
  flex: 0 1 32rem;
}

@media (max-width: 600px) {
  .cv-ludia-navigacia select.cv-ludia-vyber {
    min-width: 0;
    flex-basis: 100%;
  }
}

/* Kontaktné riadky v kartách osôb sú o stupeň menšie ako bežný text —
   hlavné je meno, telefón a e-mail sú údaj, nie nadpis. Ikona sa zmenšuje
   s nimi, aby krúžok nezostal neúmerne veľký. */
.is-style-karty-osob > * > .is-style-telefon,
.is-style-karty-osob > * > .is-style-email,
.cv-ludia-vizitky > * > .is-style-telefon,
.cv-ludia-vizitky > * > .is-style-email {
  font-size: 0.9375rem;
}

.is-style-karty-osob > * > .is-style-telefon::before,
.is-style-karty-osob > * > .is-style-email::before,
.cv-ludia-vizitky > * > .is-style-telefon::before,
.cv-ludia-vizitky > * > .is-style-email::before {
  width: 1.85rem;
  height: 1.85rem;
  background-size: 1rem 1rem;
}


/* Biela karta na broskyňovom páse: kruh pod ikonou by v bielom na bielom zmizol,
   preto sa v nej vracia k pôvodnému svetlosivému. */
.has-primary-2-background-color .has-white-background-color .is-style-telefon::before,
.has-primary-2-background-color .has-white-background-color .is-style-email::before {
  background-color: var(--wp--preset--color--gray-2);
}

/* Dlhé e-mailové adresy v úzkych kartách: odkaz je položka flexu, tá sa
   predvolene nezmenšuje pod šírku obsahu a adresa vytiekla z karty. */
.is-style-telefon a,
.is-style-email a {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Stránkovanie archívov (the_posts_pagination — nav.pagination > .nav-links).
   Bez týchto pravidiel sa čísla ukladali pod seba s obrími medzerami. */
.navigation.pagination {
  margin: var(--wp--custom--spacing--size-l) 0 var(--wp--custom--layout--sekcie);
}

.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}

.navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  height: 2.75rem;
  padding: 0 0.75rem;
  border: 1px solid var(--wp--preset--color--gray-3);
  border-radius: var(--wp--custom--layout--radius);
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--black);
  font-family: var(--wp--preset--font-family--nadpisove-pismo);
  text-decoration: none;
}

.navigation.pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:focus-visible {
  background: var(--wp--preset--color--primary-2);
  border-color: var(--wp--preset--color--primary-2);
  color: var(--wp--preset--color--primary-1);
}

.navigation.pagination .page-numbers.current {
  background: var(--wp--preset--color--primary-1);
  border-color: var(--wp--preset--color--primary-1);
  color: var(--wp--preset--color--white);
}

.navigation.pagination .page-numbers.dots {
  border: 0;
  background: none;
}

/* ===== Archív projektov: katalógová mriežka 2 × N (2026-08-06) =====
   Plné striedavé pásy ostávajú na domovských stránkach (sekcia má 3 položky);
   archív s ~26 projektmi potrebuje kompaktný katalóg. Pravidlá sú scopované
   na .cv-edge (obal archívu), takže HP blok zostáva nedotknutý. */
@media (min-width: 782px) {
  .cv-edge .projekty-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* zvislá karta: fotka hore, text pod ňou; prebije striedavé pásy */
  .cv-edge .projekty-grid article a,
  .cv-edge .projekty-grid article:nth-child(even) a {
    display: flex;
    flex-direction: column;
    height: 100%;
    grid-template-columns: none;
  }

  .cv-edge .projekty-grid article a .projekt-thumbnail {
    min-height: 0;
    position: relative;
    overflow: hidden;
  }

  .cv-edge .projekty-grid article a .projekt-thumbnail img {
    position: static;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
  }

  /* pätka s obdobím drží pri spodnej hrane karty */
  .cv-edge .projekty-grid .projekt-content {
    display: flex;
    flex-direction: column;
    flex: 1;
  }

  .cv-edge .projekty-grid .projekt-pata {
    margin-top: auto;
  }

  .cv-edge .projekty-grid .post-excerpt {
    margin-bottom: var(--wp--custom--spacing--size-m);
  }
}

/* ===== Hero detailu zariadenia (trieda head-zariadenie na media-text) =====
   Obrázok vyplní celú výšku textového stĺpca a nikdy neklesne pod minimálnu
   výšku — bez toho si výšku diktuje pomer strán fotky a pri krátkom texte
   sa pás rozpadne. */
.head-zariadenie {
  align-items: stretch;
}

.head-zariadenie .wp-block-media-text__media {
  position: relative;
  overflow: hidden;
  min-height: 480px;
  height: 100%;
}

.head-zariadenie .wp-block-media-text__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 600px) {
  .head-zariadenie .wp-block-media-text__media {
    min-height: 280px;
  }
}

/* ===== „Spis" — dokumentové telo detailu projektu (2026-08-07) =====
   Biely hárok na sivom páse, červená vrchná linka, definičné riadky faktov.
   Trieda cv-spis sa dáva na vnútornú skupinu, sivý pás robí sekcia okolo. */
.cv-spis {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  background: var(--wp--preset--color--white);
  border-top: 3px solid var(--wp--preset--color--primary-1);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  padding: var(--wp--custom--spacing--size-2-xl-3-xl) var(--wp--custom--spacing--size-xl-2-xl);
}

/* okrajový riadok „PROJEKT · 2025 · DOKONČENÝ" */
.cv-spis-kicker {
  color: var(--wp--preset--color--gray-5);
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--wp--preset--color--gray-3);
  padding-bottom: var(--wp--custom--spacing--size-s);
  margin-bottom: var(--wp--custom--spacing--size-l) !important;
}

.cv-spis h2 {
  margin-bottom: var(--wp--custom--spacing--size-m);
}

.cv-spis h3 {
  margin-top: var(--wp--custom--spacing--size-l-xl);
  margin-bottom: var(--wp--custom--spacing--size-s);
}

/* fakty ako definičné riadky (tabuľka bez zvislých čiar) */
.cv-spis-fakty table {
  border-collapse: collapse;
  width: 100%;
  border: 0;
}

.cv-spis-fakty td {
  border: 0;
  border-bottom: 1px solid var(--wp--preset--color--gray-2);
  padding: 0.75rem 0;
  vertical-align: top;
}

.cv-spis-fakty td:first-child {
  width: 15rem;
  color: var(--wp--preset--color--gray-5);
  font-size: 0.9rem;
  padding-right: 1.5rem;
}

.cv-spis-fakty td:last-child {
  font-weight: 500;
}

.cv-spis figcaption {
  color: var(--wp--preset--color--gray-5);
  font-size: 0.85rem;
}

@media (max-width: 700px) {
  .cv-spis {
    padding: var(--wp--custom--spacing--size-l) var(--wp--custom--spacing--size-s-m);
  }
  .cv-spis-fakty td { display: block; width: auto !important; padding: 0.35rem 0; }
  .cv-spis-fakty td:first-child { border-bottom: 0; padding-bottom: 0; }
}

/**
 * Zvýraznený perex „.hperex".
 *
 * Nadpisové písmo, primárna červená a kurzíva vo veľkosti H5 — na vetu, ktorá
 * má vyzerať ako nadpis, ale nemá byť nadpisom (neplietla by osnovu stránky
 * ani čítačky obrazovky). Trieda sa píše do poľa Pokročilé → Prídavné CSS
 * triedy, funguje na odstavci aj na skupine.
 */
.hperex,
.hperex p {
  font-family: var(--wp--preset--font-family--nadpisove-pismo);
  font-size: var(--wp--preset--font-size--velkost-h-5);
  font-style: italic;
  line-height: 1.25;
  color: var(--wp--preset--color--primary-1);
}

/**
 * Blok „Súbor" — náhľad PDF, názov a tlačidlo Stiahnuť.
 *
 * Pravidlo `.wp-block-file a` vyššie kreslí pred odkaz ikonu šípky a odsadzuje
 * text o 56 px. Platilo aj na tlačidlo Stiahnuť, takže ikona skončila vnútri
 * pilulky a tlačidlo malo obrovské ľavé odsadenie. Farby tlačidla ostávali
 * predvolené z WordPressu — čierny text na tmavosivej (kontrast 1,75 : 1).
 */
.wp-block-file .wp-block-file__button {
  background-image: none;
  padding: 0.65em 1.5em;
  background-color: var(--wp--preset--color--primary-1);
  color: var(--wp--preset--color--white);
  font-family: var(--wp--preset--font-family--bezny-text);
  font-size: var(--wp--custom--typography--step--1);
  font-weight: var(--wp--custom--typography--font-weight--semibold);
  text-decoration: none;
  margin-left: var(--wp--custom--spacing--size-s);
  white-space: nowrap;
}

.wp-block-file .wp-block-file__button:hover,
.wp-block-file .wp-block-file__button:focus-visible {
  background-color: var(--wp--preset--color--primary-1);
  color: var(--wp--preset--color--white);
  text-decoration: underline;
}

/* Vložený náhľad dokumentu — orámovaný, aby nepôsobil ako diera v stránke,
   a s rozumným stropom výšky, nech nezaberie celú obrazovku. */
.wp-block-file .wp-block-file__embed {
  display: block;
  width: 100%;
  max-height: 70vh;
  border: 1px solid var(--wp--preset--color--gray-3);
  border-radius: var(--wp--custom--layout--radius);
  margin-bottom: var(--wp--custom--spacing--size-s);
  background-color: var(--wp--preset--color--gray-1);
}

@media (max-width: 700px) {
  /* Náhľad ostáva aj na telefóne, len nižší — v pôvodných 600 px by zabral
     takmer celú obrazovku. Kto chce dokument čítať, otvorí si ho tlačidlom. */
  .wp-block-file .wp-block-file__embed {
    height: 60vh !important;
    max-height: 420px;
  }

  /* Názov na samostatný riadok, aby tlačidlo nelepilo tesne za ním. */
  .wp-block-file a:not(.wp-block-file__button) {
    display: block;
  }

  .wp-block-file .wp-block-file__button {
    margin-left: 0;
    margin-top: var(--wp--custom--spacing--size-xs);
    display: inline-block;
  }
}

/**
 * Hlavička článku — dátum a kategória s ikonami (návrh E).
 *
 * Pôvodne tu boli slová „Publikované:" a „Kategórie:" a údaje oddeľovala
 * zvislá čiara kreslená ako `border-left` druhého spanu. Riadok sa nezalamoval,
 * takže na mobile sa lámal text vnútri údajov a čiara ostala visieť medzi nimi.
 * Teraz popisky nesú ikony, riadok sa zalamuje po celých údajoch a na telefóne
 * je každý údaj na vlastnom riadku.
 */
.cv-single-article .post-meta.cv-meta-ikony {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--wp--custom--spacing--size-2-xs) var(--wp--custom--spacing--size-m);
}

.cv-meta-ikony .post-date,
.cv-meta-ikony .post-categories {
  /* Zámerne inline-block, nie flex: pri viacerých kategóriách sú odkazy
     aj čiarky medzi nimi samostatné položky a `gap` by čiarku odtrhol
     od predchádzajúceho názvu („Brezno , Gelnica"). */
  display: inline-block;
  min-height: 20px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 18px;
  padding-left: 24px;
}

.cv-meta-ikony .post-date {
  background-image: url(images/kalendar.svg);
}

.cv-meta-ikony .post-categories {
  background-image: url(images/stitok.svg);
}

/* Zvislý oddeľovač z pôvodného riešenia už netreba — údaje delí ikona. */
.cv-single-article .post-meta.cv-meta-ikony span + span {
  border-left: 0;
  padding-left: 24px;
  margin-left: 0;
}

.cv-meta-ikony .post-categories a {
  color: var(--wp--preset--color--primary-1);
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 700px) {
  /* Každý údaj na vlastnom riadku — na úzkom displeji sa inak zalomí
     dátum aj kategória do dvoch riadkov naraz a hlavička sa rozsype. */
  /* Na telefóne je celá hlavička vľavo — vycentrovaný nadpis sa na úzkom
     displeji láme do nepravidelného trojuholníka a horšie sa číta. */
  .cv-single-article h1 {
    text-align: left;
  }

  .cv-single-article .post-meta.cv-meta-ikony {
    flex-direction: column;
    /* Pri stĺpci riadi vodorovné zarovnanie align-items, nie justify-content. */
    align-items: flex-start;
    gap: var(--wp--custom--spacing--size-2-xs);
  }
}

/**
 * Hlavička článku v jednej línii s textom.
 *
 * Telo článku má `.entry-content { max-width: 70ch }` (~696 px), kým nadpis
 * a meta riadok mali 920 px. Kým bolo všetko centrované, nebolo to vidieť;
 * po zarovnaní vľavo by nadpis začínal o 112 px vľavo od textu článku.
 * Dávame im preto rovnakú mieru — všetko má spoločnú ľavú hranu.
 */
/* Na počítači je hlavička na stred, na mobile vľavo. Zámerne cez `min-width`:
   mobilné pravidlá sú v súbore vyššie a inak by ich toto pravidlo prebilo. */
@media (min-width: 701px) {
  .cv-single-article h1,
  .cv-single-article .post-meta.cv-meta-ikony {
    text-align: center;
  }
}

/**
 * Karta človeka — čo má na starosti (projekty, zariadenia).
 *
 * Štítok „Projekty“ / „Zariadenia“ je drobný a sivý, samotné položky nesú váhu.
 * Odsadené od kontaktov tenkou linkou, aby bolo jasné, že ide o inú informáciu.
 */
.cv-osoba-agenda {
  margin-top: var(--wp--custom--spacing--size-2-xs);
  padding-top: var(--wp--custom--spacing--size-2-xs);
  border-top: 1px solid var(--wp--preset--color--gray-3);
  color: var(--wp--preset--color--gray-5);
  line-height: 1.5;
}

.cv-osoba-agenda + .cv-osoba-agenda {
  border-top: 0;
  padding-top: 0;
  margin-top: var(--wp--custom--spacing--size-3-xs);
}

.cv-osoba-agenda > span {
  display: block;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--wp--preset--color--gray-5);
}

.cv-osoba-agenda a {
  color: var(--wp--preset--color--primary-1);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Agenda ide cez celú kartu ako kontaktné riadky — inak by ju pravidlo
   `.is-style-karty-osob > * > p { grid-column: 2 }` odsadilo pod meno. */
.is-style-karty-osob > * > .cv-osoba-agenda,
.cv-ludia-vizitky > * > .cv-osoba-agenda {
  grid-column: 1 / -1;
}

/* ===========================================================================
   Charita vo svete (svet.charita.sk) — výpis projektov
   Triedy sa používajú iba na tomto webe, ostatné weby siete ich nemajú v obsahu.
   =========================================================================== */

.svet-skupina-nadpis {
  margin: var(--wp--custom--spacing--size-xl) 0 var(--wp--custom--spacing--size-m);
  display: flex;
  align-items: baseline;
  gap: var(--wp--custom--spacing--size-xs);
}

.svet-skupina-nadpis span {
  font-family: var(--wp--preset--font-family--bezny-text);
  font-size: var(--wp--custom--typography--step--1);
  color: var(--wp--preset--color--gray-5);
  font-weight: 400;
}

.svet-projekty {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(19rem, 100%), 1fr));
  gap: var(--wp--custom--spacing--size-m);
}

.svet-karta {
  display: flex;
  flex-direction: column;
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--gray-3);
  border-radius: var(--wp--custom--layout--radius);
  overflow: hidden;
}

.svet-karta-obr {
  display: block;
  background: var(--wp--preset--color--gray-1);
}

.svet-karta-obr img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}

.svet-karta-telo {
  padding: var(--wp--custom--spacing--size-s-m);
  display: flex;
  flex-direction: column;
  gap: var(--wp--custom--spacing--size-2-xs);
  flex: 1;
}

.svet-karta h3 {
  margin: 0;
  line-height: 1.25;
}

.svet-karta h3 a {
  color: var(--wp--preset--color--primary-1);
  text-decoration: none;
}

.svet-karta h3 a:hover,
.svet-karta h3 a:focus-visible {
  text-decoration: underline;
}

.svet-karta-meta {
  margin: 0;
  color: var(--wp--preset--color--gray-5);
  font-size: var(--wp--custom--typography--step--1);
}

.svet-karta-temy {
  margin: auto 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.svet-karta-temy span {
  font-size: 0.8125rem;
  background: var(--wp--preset--color--gray-1);
  color: var(--wp--preset--color--gray-5);
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
}

/* Stav projektu — bodka a text, žiadna výrazná plocha navyše */
.svet-stav {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.svet-stav::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: currentColor;
}

.svet-stav--prebiehajuci { color: var(--wp--preset--color--primary-1); }
.svet-stav--zrealizovany { color: var(--wp--preset--color--gray-5); }

/* --- filtre --- */
.svet-filtre {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--custom--spacing--size-s);
  align-items: flex-end;
  padding: var(--wp--custom--spacing--size-m);
  background: var(--wp--preset--color--gray-1);
  border-radius: var(--wp--custom--layout--radius);
  margin-bottom: var(--wp--custom--spacing--size-l);
}

.svet-filtre label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-family: var(--wp--preset--font-family--nadpisove-pismo);
  color: var(--wp--preset--color--primary-1);
  flex: 1 1 14rem;
}

.svet-filtre select { width: 100%; }

.svet-filtre-vysledok {
  margin: 0;
  flex: 1 1 100%;
  color: var(--wp--preset--color--gray-5);
  font-size: var(--wp--custom--typography--step--1);
}

.svet-karta[hidden] { display: none; }

@media (max-width: 700px) {
  .svet-filtre { padding: var(--wp--custom--spacing--size-s); }
}

.svet-clanky {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr));
  gap: var(--wp--custom--spacing--size-m);
}

.svet-clanok {
  display: flex;
  flex-direction: column;
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--gray-3);
  border-radius: var(--wp--custom--layout--radius);
  overflow: hidden;
}

.svet-clanok-obr img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}

.svet-clanok-telo {
  padding: var(--wp--custom--spacing--size-s-m);
  display: flex;
  flex-direction: column;
  gap: var(--wp--custom--spacing--size-2-xs);
}

.svet-clanok-datum {
  margin: 0;
  color: var(--wp--preset--color--gray-5);
  font-size: 0.8125rem;
}

.svet-clanok h3 { margin: 0; line-height: 1.25; }

.svet-clanok h3 a {
  color: var(--wp--preset--color--primary-1);
  text-decoration: none;
}

.svet-clanok h3 a:hover,
.svet-clanok h3 a:focus-visible { text-decoration: underline; }

.svet-clanok-vytah {
  margin: 0;
  color: var(--wp--preset--color--gray-5);
  font-size: var(--wp--custom--typography--step--1);
}

/* =========================================================
   Detail projektu na rv.charita.sk — infobox štýl (2026-09-09)
   Scoped iba na Rožňavu cez PHP ($je_rv v single-projekt.php),
   trieda .projekt-rv sa nikde inde v sieti nepoužíva.
   ========================================================= */

.projekt-rv { max-width: 1440px; margin: 0 auto; padding: 0 var(--wp--preset--spacing--s, 20px); }

.projekt-rv-hlavicka {
  padding: var(--wp--preset--spacing--xl, 48px) 0 var(--wp--preset--spacing--l, 32px);
}

.projekt-rv-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--wp--preset--font-family--bezny-text);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #6b4a00;
  background: var(--wp--preset--color--primary-3);
  padding: 5px 10px 5px 8px;
  border-radius: 2px;
  margin-bottom: 16px;
}
.projekt-rv-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #6b4a00; }
.projekt-rv-status.je-dokonceny { background: var(--wp--preset--color--gray-2); color: var(--wp--preset--color--gray-5); }
.projekt-rv-status.je-dokonceny::before { background: var(--wp--preset--color--gray-5); }

.projekt-rv-hlavicka h1 {
  font-size: var(--wp--preset--font-size--velkost-h-3);
  margin: 0 0 14px;
  line-height: 1.15;
}

.projekt-rv-lede {
  /* rovnaká čitateľná šírka ako .is-style-sirka-920 v ostatnom obsahu, ale zarovnané doľava */
  font-family: var(--wp--preset--font-family--nadpisove-pismo);
  font-size: var(--wp--preset--font-size--velkost-h-6);
  color: var(--wp--preset--color--black);
  max-width: 920px;
  margin: 0;
}

/* --- dvojstĺpcové rozloženie: infobox (2) vľavo + obsah (3) vpravo, pomer 2:3, výšky na sebe nezávislé --- */
.projekt-rv-layout {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: var(--wp--preset--spacing--xl, 48px);
  align-items: start;
  padding: var(--wp--preset--spacing--xl, 48px) 0 var(--wp--preset--spacing--xl-2-xl, 64px);
}
@media (max-width: 782px) {
  .projekt-rv-layout { grid-template-columns: 1fr; }
}

/* hlavný text vpravo — bez farebného pozadia, čisto biele/prázdne, čitateľný stĺpec */
.projekt-rv-obsah {
  order: 2;
  background: none;
  max-width: 68ch;
}
.projekt-rv-obsah > *:first-child { margin-top: 0; padding-top: 0; } /* prvá sekcia obsahu mala zdedený padding-top ~72px navyše k .projekt-rv-layout - veľká biela plocha pod hlavičkou */
.projekt-rv-obsah p { line-height: 1.75; }
.projekt-rv-obsah h2,
.projekt-rv-obsah h3 { margin-top: var(--wp--preset--spacing--l, 32px); margin-bottom: 14px; }

/* --- infobox, teraz vľavo --- */
.projekt-rv-infobox {
  order: 1;
  border: 1px solid var(--wp--preset--color--gray-3);
  border-radius: 4px;
  overflow: hidden;
  background: var(--wp--preset--color--gray-1);
}

.projekt-rv-foto {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--wp--preset--color--gray-2);
  border-bottom: 1px solid var(--wp--preset--color--gray-3);
}
.projekt-rv-foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.projekt-rv-fakty { margin: 0; padding: 18px 18px 4px; }
.projekt-rv-fakty .riadok { padding: 11px 0; border-top: 1px solid var(--wp--preset--color--gray-3); }
.projekt-rv-fakty .riadok:first-child { border-top: none; }
.projekt-rv-fakty dt {
  display: block;
  font-family: var(--wp--preset--font-family--bezny-text);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--wp--preset--color--primary-1);
  margin-bottom: 4px;
}
.projekt-rv-fakty dd {
  margin: 0;
  font-family: var(--wp--preset--font-family--bezny-text);
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--wp--preset--color--black);
}
.projekt-rv-fakty dd a { color: var(--wp--preset--color--primary-1); }

/* Facebook/Instagram odkazy projektu — rovnaký vzor ikon ako v hornom páse hlavičky (.cv-top-socialky) */
.projekt-rv-socialky { padding: 4px 18px 14px; }

/* voľný meta popis (extra fakty ako Kód ITMS21+, Partner, Výška NFP...) - rovnaké riadky ako fakty vyššie */
.projekt-rv-volny-popis { padding: 4px 18px 4px; }
.projekt-rv-volny-popis p {
  margin: 0;
  padding: 11px 0;
  border-top: 1px solid var(--wp--preset--color--gray-3);
  font-size: 0.92rem;
  line-height: 1.4;
}
.projekt-rv-volny-popis p:first-child { border-top: none; }
.projekt-rv-volny-popis p strong {
  display: block;
  font-family: var(--wp--preset--font-family--bezny-text);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--wp--preset--color--primary-1);
  margin-bottom: 4px;
}

.projekt-rv-cta { padding: 14px 18px 18px; }
.projekt-rv-cta .wp-block-button__link {
  display: block;
  text-align: center;
  background: var(--wp--preset--color--primary-1);
  color: var(--wp--preset--color--white);
  text-decoration: none;
}

/* --- Ďalšie projekty (koniec detailu) — karty sú zámerne tie isté ako v archíve /projekty/,
   cez zdieľaný template-parts/projekt-karta.php a triedu .projekty-grid, žiadny vlastný dizajn karty tu. --- */
.projekt-rv-dalsie {
  padding: var(--wp--preset--spacing--xl-2-xl, 64px) 0 var(--wp--preset--spacing--xl-2-xl, 64px);
}
.projekt-rv-dalsie h2 {
  font-size: var(--wp--preset--font-size--velkost-h-4);
  margin: 0 0 28px;
}

/* --- Súvisiace články pod detailom projektu (2026-09-11) — kategória
   priradená k projektu podľa slugu, alebo posledné aktuality ako náhrada. --- */
.projekt-rv-clanky {
  padding-top: var(--wp--preset--spacing--xl-2-xl, 64px);
}
.projekt-rv-clanky h2 {
  font-size: var(--wp--preset--font-size--velkost-h-4);
  margin: 0 0 28px;
}

/* --- "Ďalšie projekty" na detaile — 2 stĺpce vertikálnych kariet namiesto
   širokých horizontálnych pásov (tie sú určené na plnú šírku v 1 stĺpci). --- */
.projekt-rv-dalsie .projekty-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 600px) {
  .projekt-rv-dalsie .projekty-grid {
    grid-template-columns: 1fr;
  }
}
.projekt-rv-dalsie .projekty-grid article a,
.projekt-rv-dalsie .projekty-grid article:nth-child(even) a {
  grid-template-columns: 1fr;
}
.projekt-rv-dalsie .projekty-grid article a .projekt-thumbnail,
.projekt-rv-dalsie .projekty-grid article:nth-child(even) a .projekt-thumbnail {
  grid-column: 1;
  grid-row: 1;
  position: static;
  min-height: 0;
}
.projekt-rv-dalsie .projekty-grid article a .projekt-thumbnail img,
.projekt-rv-dalsie .projekty-grid article:nth-child(even) a .projekt-thumbnail img {
  position: static;
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}
.projekt-rv-dalsie .projekty-grid article a .projekt-content,
.projekt-rv-dalsie .projekty-grid article:nth-child(even) a .projekt-content {
  grid-column: 1;
  grid-row: 2;
}

/* Zvislá časová os pre niekoľko krátkych bodov pod sebou (napr. "Ako konkrétne
   pomáhame") — bodka pri nadpise, zvislá linka k ďalšej bodke. Bez farebného
   pozadia, bez ikon, jeden stĺpec. */
.is-style-casova-os-zvisla {
  margin-top: var(--wp--preset--spacing--m);
}

.is-style-casova-os-zvisla-bod {
  position: relative;
  padding-left: 1.75rem;
  padding-bottom: var(--wp--preset--spacing--l);
}

.is-style-casova-os-zvisla-bod::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--wp--preset--color--primary-1);
  box-shadow: 0 0 0 4px rgba(138, 29, 3, 0.12);
}

.is-style-casova-os-zvisla-bod::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 0.4em;
  bottom: 0;
  width: 2px;
  background: rgba(138, 29, 3, 0.25);
}

.is-style-casova-os-zvisla-bod h3 {
  margin: 0 0 0.4rem;
}

.is-style-casova-os-zvisla-bod p {
  margin: 0;
}
