/*
Theme Name:   ZPS Cemjata
Theme URI:    https://www.zpscemjata.sk
Description:  Téma pre Zariadenie pre seniorov Harmónia, Prešov – Cemjata. Vzhľad vychádza z loga: zelená a oranžová postavička, oblúk objatia, vlastné ikony a veľké, ľahko čitateľné písmo pre seniorov.
Author:       belimit.sk
Author URI:   https://belimit.sk
Template:     bricks
Version:      1.26.0
Requires at least: 6.5
Requires PHP: 8.1
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  zpscemjata
*/

/* =========================================================================
   1. PREMENNÉ (použiteľné aj v editore: var(--zps-green-ink) atď.)
   ========================================================================= */
:root{
  /* farby z loga */
  --zps-green:#009642;       /* zelená postavička – plochy, dekor */
  --zps-green-ink:#00703A;   /* text, tlačidlá (kontrast 6:1 na bielej) */
  --zps-green-soft:#E9F4EE;
  --zps-orange:#EC7A14;      /* oranžová postavička – iba body, plochy s tmavým textom */
  --zps-orange-ink:#9A4A05;
  --zps-sky:#8FBACC;         /* modrý podnadpis loga */
  --zps-sky-soft:#F0F6F8;
  /* neutrálne */
  --zps-ink:#16313B;
  --zps-muted:#4E6670;
  --zps-line:#DCE5E8;
  --zps-white:#FFFFFF;

  --zps-font-head:"Lexend", system-ui, -apple-system, "Segoe UI", sans-serif;
  --zps-font-body:"ZPS Cisla", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;

  --zps-wrap:1280px;
  --zps-gutter:clamp(16px, 4vw, 64px);
  --zps-r:14px;
  --zps-r-lg:20px;
  --zps-sec:clamp(48px, 7vw, 88px);
}

/* veľkosť písma podľa prepínača A− / A / A+ (uloží sa v prehliadači) */
html{font-size:100%}
html[data-zps-size="s"]{font-size:93.75%}
html[data-zps-size="l"]{font-size:118.75%}

/* =========================================================================
   2. ZÁKLAD
   ========================================================================= */
body{font-family:var(--zps-font-body); font-size:1.125rem; line-height:1.6; color:var(--zps-ink); background:var(--zps-white); -webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--zps-font-head); font-weight:600; line-height:1.15; color:var(--zps-ink); text-wrap:balance; letter-spacing:-.005em}
h1{font-size:clamp(2.1rem, 4.4vw, 3.6rem); line-height:1.05}
h2{font-size:clamp(1.7rem, 2.8vw, 2.25rem)}
h3{font-size:1.3rem; line-height:1.3}
h4{font-size:1.125rem}
a{color:var(--zps-green-ink); text-underline-offset:3px}
a:hover{color:var(--zps-green)}
:focus-visible{outline:3px solid var(--zps-orange); outline-offset:3px; border-radius:4px}
img{max-width:100%; height:auto}
::selection{background:var(--zps-green-soft)}

.zps-wrap{width:100%; max-width:calc(var(--zps-wrap) + 2 * var(--zps-gutter)); margin-inline:auto; padding-inline:var(--zps-gutter)}
.zps-sec{padding-block:var(--zps-sec)}
.zps-sec--sky{background:var(--zps-sky-soft)}
.zps-muted{color:var(--zps-muted)}
.zps-kicker{font:600 1.05rem var(--zps-font-head); color:var(--zps-green-ink)}
.zps-sr{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}

/* ikony */
.zps-ico{width:1.5em; height:1.5em; flex:none; color:var(--zps-green-ink); vertical-align:middle}
.zps-ico--sm{width:1.15em; height:1.15em}
.zps-ico--lg{width:2.75rem; height:2.75rem}

/* tlačidlá a odkazy */
.zps-btn{display:inline-flex; align-items:center; gap:.6em; font:600 1.05rem/1.2 var(--zps-font-head); padding:.85em 1.45em; border-radius:999px; border:2px solid var(--zps-green-ink); text-decoration:none; transition:background .15s, color .15s; min-height:48px}
.zps-btn .zps-ico{width:1.2em; height:1.2em; color:currentColor}
.zps-btn--p{background:var(--zps-green-ink); color:#fff}
.zps-btn--p:hover{background:#005A2E; border-color:#005A2E; color:#fff}
.zps-btn--s{background:transparent; color:var(--zps-green-ink)}
.zps-btn--s:hover{background:var(--zps-green-soft); color:var(--zps-green-ink)}
.zps-more{display:inline-flex; align-items:center; gap:.5em; font:600 1rem var(--zps-font-head); color:var(--zps-green-ink); text-decoration:none}
.zps-more .zps-ico{width:1.2em; height:1.2em; transition:transform .15s}
.zps-more:hover .zps-ico{transform:translateX(3px)}

/* =========================================================================
   3. HLAVIČKA
   ========================================================================= */
.zps-util{border-bottom:1px solid var(--zps-line); font-size:.94rem; color:var(--zps-muted)}
.zps-util__in{display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:46px; flex-wrap:wrap}
.zps-util__contacts{display:flex; gap:28px; flex-wrap:wrap}
.zps-util__contacts a{display:inline-flex; align-items:center; gap:8px; color:var(--zps-muted); text-decoration:none}
.zps-util__contacts a:hover{color:var(--zps-green-ink)}
.zps-util__contacts .zps-ico{width:1.25em; height:1.25em}

.zps-size{display:flex; align-items:center; gap:6px}
.zps-size__lbl{display:inline-flex; align-items:center; gap:8px; margin-right:4px}
.zps-size button{min-width:36px; height:32px; border:1px solid var(--zps-line); border-radius:8px; background:#fff; font:700 .875rem var(--zps-font-body); color:var(--zps-ink); cursor:pointer; padding:0 8px}
.zps-size button[aria-pressed="true"]{border-color:var(--zps-green-ink); color:var(--zps-green-ink); box-shadow:inset 0 0 0 1px var(--zps-green-ink)}

.zps-hdr__in{display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:16px}
.zps-logo img{height:68px; width:auto; display:block}

/* hlavné menu (prvok „Menu“ v editore s triedou zps-menu) */
.zps-menu .bricks-nav-menu{gap:2px}
.zps-menu .bricks-nav-menu > li > a,
.zps-menu .bricks-nav-menu > li > .brx-submenu-toggle{font:500 1.03rem var(--zps-font-head); color:var(--zps-ink); padding:10px 14px; position:relative; display:flex; align-items:center; gap:4px}
.zps-menu .bricks-nav-menu > li > .brx-submenu-toggle > a{padding:0; color:inherit; font:inherit}
.zps-menu .bricks-nav-menu > li > .brx-submenu-toggle > button{color:var(--zps-muted); padding:0 0 0 2px}
.zps-menu .bricks-nav-menu > li > a::after,
.zps-menu .bricks-nav-menu > li > .brx-submenu-toggle::after{content:""; position:absolute; left:14px; right:14px; bottom:2px; height:3px; border-radius:3px; background:var(--zps-green); transform:scaleX(0); transition:transform .18s}
.zps-menu .bricks-nav-menu > li:hover > a::after,
.zps-menu .bricks-nav-menu > li:hover > .brx-submenu-toggle::after,
.zps-menu .bricks-nav-menu > li.current-menu-item > a::after,
.zps-menu .bricks-nav-menu > li.current-menu-ancestor > .brx-submenu-toggle::after{transform:scaleX(1)}
.zps-menu .bricks-nav-menu > li.current-menu-item > a,
.zps-menu .bricks-nav-menu > li.current-menu-ancestor > .brx-submenu-toggle{color:var(--zps-green-ink)}
.zps-menu .sub-menu{min-width:320px; background:#fff; border:1px solid var(--zps-line); border-radius:var(--zps-r); padding:8px; box-shadow:0 18px 40px -20px rgba(22,49,59,.35)}
.zps-menu .sub-menu li a{display:block; padding:9px 12px; border-radius:8px; font:400 1rem var(--zps-font-body); color:var(--zps-ink); white-space:normal}
.zps-menu .sub-menu li a:hover,
.zps-menu .sub-menu li.current-menu-item > a{background:var(--zps-green-soft); color:var(--zps-green-ink)}
.zps-menu .sub-menu .sub-menu{position:static; box-shadow:none; border:0; padding:0 0 0 16px; min-width:0}
.zps-menu .sub-menu .sub-menu a{font-size:.94rem; color:var(--zps-muted); padding-block:6px}
/* mobilné menu */
.zps-menu .bricks-mobile-menu-toggle{color:var(--zps-green-ink); width:46px; height:46px}
.zps-menu .bricks-mobile-menu-wrapper{background:#fff}
.zps-menu .bricks-mobile-menu > li > a,
.zps-menu .bricks-mobile-menu > li > .brx-submenu-toggle > a{font:600 1.2rem var(--zps-font-head); color:var(--zps-ink); padding:12px 24px}
.zps-menu .bricks-mobile-menu .sub-menu a{font-size:1.05rem; color:var(--zps-muted); padding:8px 24px 8px 40px}
.zps-menu .bricks-mobile-menu-overlay{background:rgba(22,49,59,.4)}

/* =========================================================================
   4. ÚVOD (hero) s oblúkom objatia
   ========================================================================= */
.zps-hero{border-bottom:1px solid var(--zps-line)}
.zps-hero__in{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px, 5vw, 64px); align-items:center; padding-block:clamp(28px, 4vw, 48px) clamp(48px, 6vw, 72px)}
.zps-hero h1{margin:.3em 0 .4em}
.zps-hero__lead{font-size:1.2rem; color:var(--zps-muted); max-width:46ch}
.zps-btns{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px}
.zps-arch{border-radius:50% 50% var(--zps-r-lg) var(--zps-r-lg) / 230px 230px var(--zps-r-lg) var(--zps-r-lg); overflow:hidden; aspect-ratio:1 / .95}
.zps-arch img{width:100%; height:100%; object-fit:cover; display:block}

/* tri bloky oddelené linkami */
.zps-three{display:grid; grid-template-columns:repeat(3, minmax(0,1fr))}
.zps-three__item{padding:40px 36px 44px; display:flex; flex-direction:column; gap:12px; border-right:1px solid var(--zps-line)}
.zps-three__item:first-child{padding-left:0}
.zps-three__item:last-child{border-right:0; padding-right:0}
.zps-three__item h3{font-size:1.35rem}
.zps-three__item p{color:var(--zps-muted); font-size:1.03rem; margin:0}
.zps-three__item .zps-more{margin-top:auto}

/* =========================================================================
   5. AKTUALITY + BOČNÝ PANEL
   ========================================================================= */
.zps-main{display:grid; grid-template-columns:minmax(0, 1fr) 330px; gap:56px; align-items:start}
.zps-main > * {min-width:0}
.zps-news{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:32px 24px}
.zps-card{display:flex; flex-direction:column; gap:12px}
.zps-card__img{display:block; border-radius:var(--zps-r); overflow:hidden; aspect-ratio:16 / 10; background:var(--zps-green-soft)}
.zps-card__img img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s}
.zps-card:hover .zps-card__img img{transform:scale(1.03)}
.zps-card__meta{display:flex; gap:16px; flex-wrap:wrap; font-size:.9rem; color:var(--zps-muted)}
.zps-card__meta span{display:inline-flex; gap:6px; align-items:center}
.zps-card__meta .zps-ico{width:1.15em; height:1.15em}
.zps-card h3{font-size:1.25rem; margin:0}
.zps-card h3 a{color:var(--zps-ink); text-decoration:none}
.zps-card h3 a:hover{color:var(--zps-green-ink)}
.zps-card p{color:var(--zps-muted); font-size:1rem; margin:0}

.zps-pages{display:flex; flex-wrap:wrap; gap:6px; margin-top:40px; font:600 .95rem var(--zps-font-head)}
.zps-pages a,.zps-pages span{min-width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:0 12px; border-radius:10px; background:#fff; border:1px solid var(--zps-line); color:var(--zps-ink); text-decoration:none}
.zps-pages .current{background:var(--zps-green-ink); border-color:var(--zps-green-ink); color:#fff}
.zps-pages a:hover{border-color:var(--zps-green-ink); color:var(--zps-green-ink)}
.zps-pages .dots{border:0; background:none}
.zps-pages .zps-ico{width:1.1em; height:1.1em; color:currentColor}

.zps-side{background:#fff; border:1px solid var(--zps-line); border-radius:var(--zps-r-lg)}
.zps-side__box{padding:22px; display:flex; flex-direction:column; gap:12px; border-bottom:1px solid var(--zps-line)}
.zps-side__box:last-child{border-bottom:0}
.zps-side__box h4{display:flex; align-items:center; gap:10px; margin:0}
.zps-side__box h4 .zps-ico{width:1.6em; height:1.6em}
.zps-side__box p{font-size:.97rem; color:var(--zps-muted); margin:0}
.zps-side__lnk{display:flex; justify-content:space-between; align-items:center; gap:10px; font:500 1rem var(--zps-font-head); color:var(--zps-green-ink); text-decoration:none; padding:4px 0}
.zps-side__lnk .zps-ico{width:1.15em; height:1.15em}
.zps-founder{display:flex; gap:12px; align-items:center; font:600 1.1rem var(--zps-font-head); color:var(--zps-ink); text-decoration:none}
.zps-founder img{height:54px; width:auto}

/* =========================================================================
   6. PÄTIČKA – biela, logo bez rámčeka
   ========================================================================= */
.zps-ftr{border-top:1px solid var(--zps-line); background:#fff; color:var(--zps-muted); font-size:1rem}
.zps-ftr__grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:48px; padding-block:56px 48px}
.zps-ftr__logo img{height:92px; width:auto; display:block; margin-bottom:18px}
.zps-ftr h5{font-size:1.05rem; margin:0 0 14px}
.zps-list{list-style:none; margin:0; padding:0; display:grid; gap:10px}
.zps-list li,.zps-list a{display:flex; gap:10px; align-items:center; color:var(--zps-ink); text-decoration:none}
.zps-list a:hover{color:var(--zps-green-ink)}
.zps-list .zps-ico{width:1.25em; height:1.25em}
.zps-ftr__bar{background:var(--zps-green-ink); color:#DDEFE5; font-size:.875rem}
.zps-ftr__bar .zps-wrap{display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:50px; flex-wrap:wrap}
.zps-ftr__bar a{color:#fff; text-decoration:none; display:inline-flex; gap:8px; align-items:center}
.zps-ftr__bar .zps-ico{color:#fff; width:1.15em; height:1.15em}
.zps-credit{opacity:.85}

/* =========================================================================
   7. OBSAH ČLÁNKOV A STRÁNOK
   ========================================================================= */
.zps-page-head{background:var(--zps-sky-soft); padding-block:clamp(32px, 5vw, 56px)}
.zps-crumbs{font-size:.94rem; color:var(--zps-muted); margin-bottom:10px}
.zps-crumbs a{color:var(--zps-muted)}
.zps-prose{max-width:72ch; font-size:1.125rem}
.zps-prose > * + *{margin-top:1em}
.zps-prose h2{margin-top:1.6em}
.zps-prose h3{margin-top:1.4em}
.zps-prose img{border-radius:var(--zps-r)}
.zps-prose table{border-collapse:collapse; width:100%; font-size:1rem}
.zps-prose th,.zps-prose td{border:1px solid var(--zps-line); padding:10px 12px; text-align:left; vertical-align:top}
.zps-prose th{background:var(--zps-sky-soft)}
.zps-gallery{display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:10px; margin-top:32px}
.zps-gallery a{display:block; border-radius:10px; overflow:hidden; aspect-ratio:4 / 3}
.zps-gallery img{width:100%; height:100%; object-fit:cover; transition:transform .3s}
.zps-gallery a:hover img{transform:scale(1.04)}

/* =========================================================================
   8. RESPONZÍVNE
   ========================================================================= */
@media (max-width:1100px){
  .zps-main{grid-template-columns:1fr}
  .zps-side{display:grid; grid-template-columns:repeat(2, 1fr)}
  .zps-side__box:nth-child(odd){border-right:1px solid var(--zps-line)}
}
@media (max-width:860px){
  .zps-util__contacts a:not(:first-child){display:none}
  .zps-hero__in{grid-template-columns:minmax(0,1fr)}
  .zps-arch{order:-1; aspect-ratio:4 / 3; max-height:360px}
  .zps-three{grid-template-columns:minmax(0,1fr)}
  .zps-three__item{padding:28px 0; border-right:0; border-bottom:1px solid var(--zps-line)}
  .zps-three__item:last-child{border-bottom:0}
  .zps-ftr__grid{grid-template-columns:minmax(0,1fr); gap:32px}
  .zps-logo img{height:54px}
}
@media (max-width:600px){
  .zps-news{grid-template-columns:1fr}
  .zps-side{grid-template-columns:1fr}
  .zps-side__box:nth-child(odd){border-right:0}
  .zps-size__lbl span{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important; animation:none!important}
}

/* =========================================================================
   9. ÚPRAVY PRE PRVKY EDITORA
   Ikona vložená cez [zps_ikona] je zabalená v bloku na plnú šírku – tu sa správa ako samotná ikona.
   ========================================================================= */
.brxe-shortcode:has(> .zps-ico:only-child){display:contents}
.zps-util__in > .brxe-shortcode,
.zps-hdr__in > *,
.zps-ftr__bar .zps-wrap > .brxe-shortcode{width:auto}
.zps-btn > .brxe-text-basic,
.zps-more > .brxe-text-basic,
.zps-side__lnk > .brxe-text-basic,
.zps-founder > .brxe-text-basic{width:auto; white-space:nowrap}
.zps-side__box > h4.brxe-div{flex-direction:row; justify-content:flex-start}
.zps-ftr__bar .brxe-shortcode{display:flex; gap:16px; align-items:center}
.zps-arch .brxe-image,.zps-arch img{width:100%; height:100%; display:block}
.zps-arch img{object-fit:cover}
.zps-news-title{margin-bottom:28px}
.zps-side img{max-width:100%; height:auto}
.zps-side .brxe-image{max-width:100%}
.zps-founder .brxe-image{flex:none}
.zps-util__in{flex-wrap:nowrap}
@media (max-width:600px){ .zps-util__contacts a span:not(.zps-sr){font-size:.9rem} .zps-size button{min-width:32px} }
.zps-founder img{height:54px!important; width:auto!important; max-width:none}
.zps-founder > .brxe-text-basic{white-space:normal}

/* mobilné menu – svetlý panel */
.zps-menu .bricks-mobile-menu-wrapper{background:#fff!important; width:min(380px, 88vw); padding-top:72px; box-shadow:0 0 40px rgba(22,49,59,.25)}
.zps-menu .bricks-mobile-menu > li{border-bottom:1px solid var(--zps-line)}
.zps-menu .bricks-mobile-menu-wrapper a{color:var(--zps-ink)!important}
.zps-menu .bricks-mobile-menu > li.current-menu-item > a{color:var(--zps-green-ink)!important}
.zps-menu .bricks-mobile-menu .brx-submenu-toggle{display:flex; justify-content:space-between; align-items:center}
.zps-menu .bricks-mobile-menu .brx-submenu-toggle button{color:var(--zps-green-ink)!important; width:56px; height:48px}
.zps-menu .bricks-mobile-menu .sub-menu{background:var(--zps-sky-soft)}
.zps-menu .bricks-mobile-menu .sub-menu a{color:var(--zps-muted)!important}
.zps-menu .bricks-mobile-menu-toggle.show{color:var(--zps-green-ink)!important; z-index:1001}
.zps-menu .bricks-mobile-menu-wrapper:before{background-color:#fff}
.zps-menu .bricks-mobile-menu-wrapper .sub-menu{background:var(--zps-sky-soft)!important}

/* =========================================================================
   10. FARBA V HORNEJ ČASTI (v1.1) – zelený horný pás a šalviový úvod
   ========================================================================= */
:root{ --zps-sage:#E7F1EA; }
.zps-util{background:var(--zps-green-ink); border-bottom:0; color:#E3F2E9}
.zps-util__contacts a{color:#E3F2E9}
.zps-util__contacts a:hover{color:#fff}
.zps-util .zps-ico{color:#fff}
.zps-size__lbl{color:#E3F2E9}
.zps-size button{background:transparent; border-color:rgba(255,255,255,.35); color:#fff}
.zps-size button[aria-pressed="true"]{background:#fff; border-color:#fff; color:var(--zps-green-ink); box-shadow:none}
.zps-size button:hover{border-color:#fff}
.zps-hdr{border-bottom:1px solid var(--zps-line)}
.zps-hero{background:var(--zps-sage); border-bottom:0}
.zps-hero__lead{color:#3F5A52}
.zps-hero .zps-btn--s{background:#fff}
.zps-hero .zps-btn--s:hover{background:var(--zps-green-soft)}
.zps-three{border-bottom:0}

/* =========================================================================
   11. BOČNÝ PANEL – nadpisy ako štítky s linkou (v1.2), nové logo Prešova
   ========================================================================= */
.zps-side__box{padding:24px 24px 26px; gap:14px}
.zps-side__box > h4.brxe-div{display:flex; align-items:center; gap:10px; font:600 .8rem/1.2 var(--zps-font-head); text-transform:uppercase; letter-spacing:.09em; color:var(--zps-green-ink); margin:0}
.zps-side__box > h4.brxe-div .zps-ico{width:1.75rem; height:1.75rem}
.zps-side__box > h4.brxe-div::after{content:""; flex:1; height:1px; background:var(--zps-line); margin-left:4px}
.zps-side__box > h4.brxe-div > .brxe-text-basic{width:auto; white-space:nowrap}
.zps-side__lnk{font-size:1.05rem}
.zps-founder img{height:96px!important; width:auto!important}
.zps-side__box > .brxe-shortcode:has(.zps-founder){width:auto}
/* logo Prešova je na výšku – vycentrované v paneli */
.zps-side__box > .brxe-shortcode:has(.zps-founder){align-self:center; width:auto}
.zps-founder{justify-content:center; padding-block:4px}

/* vektorové logo (v1.3) */
.zps-hdr__in > .brxe-shortcode{width:auto}
.zps-logo{display:block; line-height:0}
.zps-logo img{height:64px; width:auto}
.zps-ftr__logo{display:block; line-height:0; margin-bottom:18px}
.zps-ftr__logo img{height:84px!important; width:auto; margin:0}
@media (max-width:860px){ .zps-logo img{height:50px} }

/* =========================================================================
   12. BOČNÝ PANEL bez čiar (v1.4) – samostatné biele karty, oddelené medzerou
   ========================================================================= */
.zps-side{background:none; border:0; border-radius:0; display:flex; flex-direction:column; gap:16px}
.zps-side__box{background:#fff; border:0!important; border-radius:var(--zps-r-lg); padding:24px}
.zps-side__box > h4.brxe-div::after{content:none}
@media (max-width:1100px){
  .zps-side{display:grid; grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media (max-width:600px){
  .zps-side{grid-template-columns:minmax(0,1fr)}
}

/* nadpisy kariet v bočnom paneli – jednoduché, bez ikony (v1.5) */
.zps-side__title{font:600 1.15rem/1.3 var(--zps-font-head); color:var(--zps-ink); margin:0; text-transform:none; letter-spacing:0}
.zps-side__box{gap:12px}

/* =========================================================================
   13. ČLÁNOK A GALÉRIA (v1.6)
   ========================================================================= */
.zps-single{display:grid; gap:28px; max-width:860px}
.zps-single__meta{display:flex; gap:18px; flex-wrap:wrap; color:var(--zps-muted); font-size:.95rem}
.zps-single__meta span{display:inline-flex; gap:8px; align-items:center}
.zps-single__img img{width:100%; height:auto; border-radius:var(--zps-r-lg); display:block}
.zps-gallery-wrap{margin-top:16px}
.zps-gallery-title{font-size:1.5rem; margin:0 0 16px}
.zps-gallery{margin-top:0}
.zps-lb{position:fixed; inset:0; z-index:10000; background:rgba(12,24,29,.94); display:grid; place-items:center; padding:64px 72px}
.zps-lb[hidden]{display:none}
.zps-lb__img{max-width:100%; max-height:calc(100vh - 140px); border-radius:8px; object-fit:contain}
.zps-lb__count{position:absolute; left:0; right:0; bottom:20px; text-align:center; color:#DDE8EC; font:500 1rem var(--zps-font-head); margin:0}
.zps-lb__btn{position:absolute; width:52px; height:52px; border-radius:50%; border:0; background:rgba(255,255,255,.12); color:#fff; display:grid; place-items:center; cursor:pointer}
.zps-lb__btn:hover{background:rgba(255,255,255,.22)}
.zps-lb__btn .zps-ico{color:#fff; width:26px; height:26px}
.zps-lb__close{top:16px; right:16px}
.zps-lb__prev{left:16px; top:50%; transform:translateY(-50%)}
.zps-lb__prev .zps-ico{transform:rotate(180deg)}
.zps-lb__next{right:16px; top:50%; transform:translateY(-50%)}
@media (max-width:600px){ .zps-lb{padding:56px 8px} .zps-lb__prev,.zps-lb__next{top:auto; bottom:8px; transform:none} }
.zps-albums{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:28px 22px}
.zps-album{display:flex; flex-direction:column; gap:8px; text-decoration:none; color:var(--zps-ink)}
.zps-album__img{display:block; aspect-ratio:16 / 10; border-radius:var(--zps-r); overflow:hidden; background:var(--zps-green-soft)}
.zps-album__img img{width:100%; height:100%; object-fit:cover; transition:transform .3s}
.zps-album:hover .zps-album__img img{transform:scale(1.03)}
.zps-album__meta{display:flex; gap:6px; align-items:center; font-size:.9rem; color:var(--zps-muted)}
.zps-album__meta .zps-ico{width:1.15em; height:1.15em}
.zps-album__title{font:600 1.1rem/1.3 var(--zps-font-head)}
.zps-album:hover .zps-album__title{color:var(--zps-green-ink)}
.zps-docs td:first-child{min-width:260px}
.zps-prose a{word-break:break-word}
.zps-prose ul,.zps-prose ol{padding-left:1.4em}
.zps-prose .zps-table-wrap,.zps-prose table{display:block; overflow-x:auto}
.zps-back .zps-ico{transform:rotate(180deg)}
.zps-back:hover .zps-ico{transform:rotate(180deg) translateX(3px)}
.zps-single__meta a{display:inline-flex; gap:8px; align-items:center; color:var(--zps-green-ink); text-decoration:none}
.zps-page-head h1{margin:0}
.zps-prose--wide{max-width:960px}
.zps-menu .bricks-nav-menu > li > a,
.zps-menu .bricks-nav-menu > li > .brx-submenu-toggle{white-space:nowrap}
@media (max-width:1320px){
  .zps-menu .bricks-nav-menu > li > a,
  .zps-menu .bricks-nav-menu > li > .brx-submenu-toggle{padding-inline:9px; font-size:.98rem}
  .zps-menu .bricks-nav-menu > li > a::after,
  .zps-menu .bricks-nav-menu > li > .brx-submenu-toggle::after{left:9px; right:9px}
}

/* =========================================================================
   14. ČLÁNOK – vycentrovaný stĺpec (v1.8)
   ========================================================================= */
.zps-article-head{background:var(--zps-sage); padding-block:clamp(32px,5vw,56px) clamp(28px,4vw,44px)}
.zps-article-head .zps-wrap{max-width:calc(880px + 2 * var(--zps-gutter))}
.zps-article-head h1{font-size:clamp(1.9rem,3.6vw,2.9rem); margin:6px 0 14px}
.zps-article-head .zps-crumbs a{color:var(--zps-green-ink)}
.zps-single{max-width:880px; margin-inline:auto; gap:32px; padding-top:clamp(28px,4vw,44px)}
.zps-single > *{min-width:0}
.zps-single .zps-prose{max-width:none; font-size:1.2rem; line-height:1.7}
.zps-single__img{margin:0}
.zps-lead{position:relative; display:block; border-radius:var(--zps-r-lg); overflow:hidden}
.zps-lead img{width:100%; height:auto; max-height:620px; object-fit:cover; display:block; border-radius:0!important; transition:transform .4s}
.zps-lead:hover img{transform:scale(1.02)}
.zps-lead__badge{position:absolute; right:16px; bottom:16px; display:inline-flex; gap:8px; align-items:center; background:#fff; color:var(--zps-ink); font:600 .95rem var(--zps-font-head); padding:9px 16px; border-radius:999px}
.zps-gallery-title{display:flex; align-items:baseline; gap:12px}
.zps-gallery-title span{font:500 1rem var(--zps-font-body); color:var(--zps-muted)}
.zps-single .zps-gallery{grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px}
.zps-single .zps-gallery a{border-radius:12px}
.zps-single .zps-gallery a[hidden]{display:none}
.zps-postnav{display:grid; grid-template-columns:1fr 1fr; gap:16px; border-top:1px solid var(--zps-line); padding-top:32px}
.zps-postnav__item{display:flex; gap:14px; align-items:center; text-decoration:none; color:var(--zps-ink); background:var(--zps-sky-soft); border-radius:var(--zps-r); padding:12px}
.zps-postnav__item.is-next{flex-direction:row-reverse; text-align:right}
.zps-postnav__img{flex:none; width:96px; height:72px; border-radius:10px; overflow:hidden; background:var(--zps-green-soft)}
.zps-postnav__img img{width:100%; height:100%; object-fit:cover}
.zps-postnav__txt{display:grid; gap:2px}
.zps-postnav__txt small{color:var(--zps-muted); font-size:.85rem}
.zps-postnav__txt b{font:600 1.02rem/1.3 var(--zps-font-head)}
.zps-postnav__item:hover b{color:var(--zps-green-ink)}
@media (max-width:700px){
  .zps-single .zps-gallery{grid-template-columns:repeat(2, minmax(0,1fr))}
  .zps-postnav{grid-template-columns:1fr}
  .zps-postnav__item.is-next{flex-direction:row; text-align:left}
}
.zps-sec--article{padding-top:0}
.zps-wrap.zps-single{max-width:calc(880px + 2 * var(--zps-gutter))}

/* =========================================================================
   15. ČLÁNOK – dva stĺpce cez celú šírku (v1.9)
   ========================================================================= */
.zps-article-head .zps-wrap{max-width:calc(var(--zps-wrap) + 2 * var(--zps-gutter))}
.zps-article-head h1{max-width:28ch}
.zps-sec--article{background:var(--zps-sky-soft); padding-top:clamp(28px,4vw,48px)}
.zps-article{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:48px; align-items:start}
.zps-article .zps-single{max-width:none; margin:0; padding:clamp(20px,3vw,36px); background:#fff; border-radius:var(--zps-r-lg); gap:28px}
.zps-article .zps-single .zps-prose{max-width:72ch}
.zps-article .zps-lead img{max-height:560px}
.zps-article .zps-gallery{grid-template-columns:repeat(4, minmax(0,1fr))}
.zps-article-side{position:sticky; top:24px}
.zps-article-side > .brxe-shortcode{width:100%}
.zps-latest{list-style:none; margin:0; padding:0; display:grid; gap:14px}
.zps-latest a{display:grid; grid-template-columns:64px 1fr; gap:12px; align-items:center; text-decoration:none; color:var(--zps-ink)}
.zps-latest__img{width:64px; height:64px; border-radius:10px; overflow:hidden; background:var(--zps-green-soft)}
.zps-latest__img img{width:100%; height:100%; object-fit:cover}
.zps-latest__txt{display:grid; gap:2px}
.zps-latest__txt b{font:600 .98rem/1.3 var(--zps-font-head)}
.zps-latest__txt small{color:var(--zps-muted); font-size:.85rem}
.zps-latest a:hover b{color:var(--zps-green-ink)}
@media (max-width:1100px){
  .zps-article{grid-template-columns:minmax(0,1fr)}
  .zps-article-side{position:static}
  .zps-article .zps-gallery{grid-template-columns:repeat(3, minmax(0,1fr))}
}
@media (max-width:700px){ .zps-article .zps-gallery{grid-template-columns:repeat(2, minmax(0,1fr))} }
.zps-side .zps-list a span, .zps-side .zps-list li{overflow-wrap:anywhere; min-width:0}
.zps-side .zps-list{font-size:.94rem}
/* číslice v bežnom texte – o stupeň tenšie, aby nepôsobili tučne vedľa písmen */
.zps-prose, .zps-card__meta, .zps-single__meta, .zps-latest__txt small, .zps-list, .zps-util__contacts{font-variant-numeric:lining-nums}

/* pätička ako na pôvodnom webe: O nás | Partnerské odkazy | Kontakt (v1.10) */
.zps-ftr__grid{grid-template-columns:1.4fr 1fr 1.1fr; gap:56px}
.zps-ftr__about p{color:var(--zps-muted); margin:0 0 12px; max-width:46ch}
.zps-ftr__about .zps-ftr__logo{margin-bottom:22px}
.zps-ftr__org{color:var(--zps-ink); font-weight:700; margin:0 0 10px}
.zps-ftr .zps-list + .brxe-shortcode .zps-list, .zps-ftr .brxe-shortcode + .brxe-shortcode .zps-list{margin-top:10px}

/* =========================================================================
   16. ČLÁNOK – kompaktnejší, text vidno hneď (v1.11)
   ========================================================================= */
.zps-article-head{padding-block:22px 20px}
.zps-article-head h1{font-size:clamp(1.6rem,2.6vw,2.15rem); margin:4px 0 8px; max-width:40ch}
.zps-article-head .zps-crumbs{margin-bottom:4px; font-size:.9rem}
.zps-sec--article{padding-top:24px}
.zps-article{gap:32px; grid-template-columns:minmax(0,1fr) 300px}
.zps-article .zps-single{padding:24px; gap:22px}
.zps-article .zps-lead img{aspect-ratio:16 / 9; max-height:380px; object-fit:cover}
.zps-article .zps-single .zps-prose{font-size:1.1rem; line-height:1.65}
.zps-lead__badge{font-size:.85rem; padding:7px 12px; right:12px; bottom:12px}
.zps-article-side .zps-side__box{padding:20px; gap:10px}
.zps-latest{gap:12px}
.zps-latest a{grid-template-columns:56px 1fr}
.zps-latest__img{width:56px; height:56px}
.zps-latest__txt b{font-size:.9rem}
.zps-latest__txt small{font-size:.8rem}
.zps-article .zps-gallery-title{font-size:1.25rem}

/* =========================================================================
   17. MENEJ ZAOBLENIA (v1.12) – jemné rohy všade, oblúk iba na hlavnej fotke úvodu
   ========================================================================= */
:root{ --zps-r:4px; --zps-r-lg:6px; --zps-r-btn:6px; }
.zps-arch{border-radius:50% 50% 0 0 / 230px 230px 0 0}
.zps-btn{border-radius:var(--zps-r-btn)}
.zps-lead__badge{border-radius:var(--zps-r)}
.zps-pages a,.zps-pages span{border-radius:var(--zps-r)}
.zps-size button{border-radius:var(--zps-r)}
.zps-card__img,.zps-album__img,.zps-gallery a,.zps-single .zps-gallery a,
.zps-postnav__item,.zps-postnav__img,.zps-latest__img,.zps-lead,.zps-single__img img,
.zps-menu .sub-menu,.zps-menu .sub-menu li a,.zps-side,.zps-side__box,.zps-article .zps-single,
.zps-prose img{border-radius:var(--zps-r)}
.zps-menu .bricks-nav-menu > li > a::after,
.zps-menu .bricks-nav-menu > li > .brx-submenu-toggle::after{border-radius:0}

/* =========================================================================
   18. STUPNICA ZAOBLENIA (v1.13)
   S = 6 px  – malé prvky: tlačidlá, štítky, stránkovanie, A−/A/A+, miniatúry, položky podmenu
   M = 10 px – fotky a obrázky (karty aktualít, galéria, úvodná fotka článku)
   L = 14 px – veľké biele karty a panely (bočný panel, obsah článku, podmenu)
   Vnorené prvky majú vždy menší polomer ako ich obal. Oblúk hlavnej fotky na úvode ostáva.
   ========================================================================= */
:root{ --zps-r-s:6px; --zps-r:10px; --zps-r-lg:14px; --zps-r-btn:var(--zps-r-s); }
.zps-btn,.zps-lead__badge,.zps-pages a,.zps-pages span,.zps-size button,
.zps-menu .sub-menu li a,.zps-latest__img,.zps-postnav__img{border-radius:var(--zps-r-s)}
.zps-card__img,.zps-album__img,.zps-gallery a,.zps-single .zps-gallery a,.zps-lead,
.zps-single__img img,.zps-prose img,.zps-postnav__item{border-radius:var(--zps-r)}
.zps-side__box,.zps-article .zps-single,.zps-menu .sub-menu{border-radius:var(--zps-r-lg)}
.zps-side{border-radius:0}
.zps-arch{border-radius:50% 50% var(--zps-r) var(--zps-r) / 230px 230px var(--zps-r) var(--zps-r)}

/* =========================================================================
   19. PODSTRÁNKY ako článok + navigácia sekcie (v1.14)
   ========================================================================= */
.zps-prose [style*="justify"], .zps-prose p, .zps-prose li{text-align:left!important}
.zps-prose h1{font-size:1.6rem} .zps-prose h2{font-size:1.4rem} .zps-prose h3{font-size:1.2rem} .zps-prose h4{font-size:1.08rem}
.zps-prose > :first-child{margin-top:0}
.zps-subnav ul{list-style:none; margin:0; padding:0; display:grid; gap:2px}
.zps-subnav a{display:block; padding:8px 10px; border-radius:var(--zps-r-s); color:var(--zps-ink); text-decoration:none; font-size:.98rem; line-height:1.35}
.zps-subnav a:hover{background:var(--zps-green-soft); color:var(--zps-green-ink)}
.zps-subnav a.is-on{background:var(--zps-green-soft); color:var(--zps-green-ink); font-weight:700; box-shadow:inset 3px 0 0 var(--zps-green)}
.zps-subnav li.is-sub a{padding-left:24px; font-size:.92rem; color:var(--zps-muted)}
.zps-subnav .zps-side__title a{color:inherit; text-decoration:none}
.zps-article .zps-single .zps-prose{max-width:none}
.zps-article .zps-single{padding:28px 32px}

/* navigácia sekcie – bez pruhu a podfarbenia; aktívna položka = oranžová „hlavička“ z loga (v1.14.1) */
.zps-subnav a{padding:7px 0 7px 18px; border-radius:0; position:relative; background:none!important; box-shadow:none!important}
.zps-subnav a:hover{color:var(--zps-green-ink); text-decoration:underline; text-underline-offset:4px}
.zps-subnav a.is-on{color:var(--zps-green-ink); font-weight:700}
.zps-subnav a.is-on::before{content:""; position:absolute; left:2px; top:50%; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:var(--zps-orange)}
.zps-subnav li.is-sub a{padding-left:34px}
.zps-subnav li.is-sub a.is-on::before{left:18px}

/* =========================================================================
   20. KONTAKT (v1.15)
   ========================================================================= */
.zps-kontakt__lead{color:var(--zps-muted); max-width:70ch; margin:0}
.zps-kontakt{display:flex; flex-direction:column; gap:24px}
.zps-kontakt__main{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px}
.zps-kcard,.zps-kblock{background:#fff; border-radius:var(--zps-r-lg); padding:26px 28px}
.zps-kcard{display:flex; flex-direction:column; gap:8px}
.zps-kcard .zps-ico--lg{width:2.4rem; height:2.4rem}
.zps-kcard__title{font-size:1.1rem; margin:6px 0 0}
.zps-kcard__body{color:var(--zps-ink); line-height:1.75}
.zps-kcard__body a,.zps-kblock a{color:var(--zps-green-ink); text-decoration:none}
.zps-kcard__body a:hover,.zps-kblock a:hover{text-decoration:underline}
.zps-kontakt__grid{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:24px; align-items:start}
.zps-kontakt__grid--facts{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:stretch}
.zps-kblock{display:flex; flex-direction:column; gap:18px}
.zps-kblock__title{font-size:1.3rem; margin:0}
.zps-kblock--center{align-items:center; justify-content:center; text-align:center}
.zps-kblock--center .zps-kblock__title{align-self:stretch; text-align:left}
.zps-people{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px}
.zps-person{border:1px solid var(--zps-line); border-radius:var(--zps-r); padding:18px 20px; display:flex; flex-direction:column; gap:4px}
.zps-person__role{font-size:.85rem; color:var(--zps-muted); margin:0; line-height:1.35}
.zps-person__name{font-size:1.08rem; margin:2px 0 8px}
.zps-person__list ul,.zps-facts ul,.zps-lines ul{list-style:none; margin:0; padding:0}
.zps-person__list li{display:grid; grid-template-columns:72px 1fr; gap:8px; font-size:.95rem; padding:2px 0; overflow-wrap:anywhere}
.zps-person__list li span,.zps-facts li span{color:var(--zps-muted)}
.zps-lines li{display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px solid var(--zps-line); font-size:.98rem}
.zps-lines li:last-child{border-bottom:0}
.zps-lines li span:last-child{text-align:right; white-space:nowrap}
.zps-facts li{display:grid; grid-template-columns:200px 1fr; gap:12px; padding:7px 0; border-bottom:1px solid var(--zps-line)}
.zps-facts li:last-child{border-bottom:0}
/* mapa */
.zps-map{border-radius:var(--zps-r); overflow:hidden; border:1px solid var(--zps-line)}
.zps-map__canvas{height:340px; background:var(--zps-green-soft)}
.zps-map__bar{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 16px; flex-wrap:wrap}
.zps-map__bar > span{display:grid; grid-template-columns:auto 1fr; column-gap:10px; font-size:.95rem; color:var(--zps-muted)}
.zps-map__bar > span .zps-ico{grid-row:span 2; align-self:center}
.zps-map__bar b{color:var(--zps-ink)}
/* formulár */
.zps-form{display:flex; flex-direction:column; gap:14px}
.zps-form p{margin:0}
.zps-form__row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.zps-form label{display:block; font:600 .95rem var(--zps-font-head); margin-bottom:6px; color:var(--zps-ink)}
.zps-form input[type=text],.zps-form input[type=email],.zps-form input[type=tel],.zps-form textarea{width:100%; font:inherit; font-size:1.05rem; color:var(--zps-ink); background:#fff; border:1.5px solid #C9D6DB; border-radius:var(--zps-r-s); padding:12px 14px; min-height:48px}
.zps-form input:focus,.zps-form textarea:focus{outline:3px solid var(--zps-green-soft); border-color:var(--zps-green-ink)}
.zps-form textarea{resize:vertical; min-height:140px}
.zps-form__check{display:grid; grid-template-columns:24px 1fr; gap:10px; align-items:start}
.zps-form__check input{width:22px; height:22px; margin-top:2px; accent-color:var(--zps-green-ink)}
.zps-form__check label{font:400 .95rem/1.5 var(--zps-font-body); margin:0}
.zps-form__send{display:flex; align-items:center; gap:16px; flex-wrap:wrap}
.zps-form__send small{color:var(--zps-muted)}
.zps-form .zps-btn{cursor:pointer}
.zps-form__msg{display:flex; gap:12px; align-items:center; border-radius:var(--zps-r); padding:14px 16px}
.zps-form__msg.is-ok{background:var(--zps-green-soft); color:var(--zps-green-ink)}
.zps-form__msg.is-err{background:#FDECEA; color:#9B1C1C}
.zps-hp{position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden}
@media (max-width:1000px){
  .zps-kontakt__main,.zps-kontakt__grid,.zps-kontakt__grid--facts{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .zps-people,.zps-form__row{grid-template-columns:minmax(0,1fr)}
  .zps-facts li{grid-template-columns:1fr; gap:0}
}

/* mapa s logom (v1.16) */
.zps-map__canvas{height:380px}
.zps-mpin{background:none; border:0}
.zps-mpin__in{position:relative; display:grid; place-items:center; width:64px; height:64px; background:#fff; border-radius:50%; box-shadow:0 6px 18px rgba(22,49,59,.35), 0 0 0 3px var(--zps-green-ink)}
.zps-mpin__in::after{content:""; position:absolute; left:50%; bottom:-11px; margin-left:-9px; border:9px solid transparent; border-top:12px solid var(--zps-green-ink); border-bottom:0}
.zps-mpin__in img{width:42px; height:auto; display:block}
.zps-mbus{background:none; border:0}
.zps-mbus span{display:grid; place-items:center; width:40px; height:24px; border-radius:var(--zps-r-s); background:var(--zps-ink); color:#fff; font:700 11px/1 var(--zps-font-head); letter-spacing:.04em; box-shadow:0 0 0 2px #fff}
.zps-map__info{display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; padding:16px 18px}
.zps-map__row{display:flex; gap:10px; align-items:flex-start; font-size:.95rem; color:var(--zps-muted)}
.zps-map__row span{display:flex; flex-direction:column}
.zps-map__row b{color:var(--zps-ink)}
.zps-map__btns{grid-column:1 / -1; display:flex; gap:10px; flex-wrap:wrap}
.zps-map__btns .zps-btn{padding:.7em 1.1em; font-size:.98rem}
.zps-map__bar{display:none}
@media (max-width:640px){ .zps-map__info{grid-template-columns:1fr} }
.leaflet-container .zps-mpin__in img{width:42px!important; height:auto!important; max-width:42px!important}
.zps-mpin{width:64px!important; height:76px!important}
.zps-kblock a.zps-btn--p,.zps-kblock a.zps-btn--p:hover{color:#fff; text-decoration:none}
.zps-kblock a.zps-btn--s:hover{text-decoration:none}
.zps-map__canvas .leaflet-tile-pane{filter:saturate(.75)}
.zps-kblock--center{justify-content:flex-start}
.zps-kblock--center .brxe-shortcode{flex:1; display:grid; place-items:center; width:100%}

/* Kontakt bez prázdnych miest (v1.17) */
.zps-kontakt__main{grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px}
.zps-kcard{padding:22px 24px}
.zps-kcard--founder{align-items:flex-start}
.zps-kcard--founder .brxe-shortcode{width:100%}
.zps-kcard--founder .zps-founder{justify-content:flex-start; padding:0}
.zps-kcard--founder .zps-founder img{height:78px!important}
.zps-people{grid-template-columns:repeat(4, minmax(0,1fr))}
.zps-person__list li{grid-template-columns:60px 1fr}
.zps-lines ul{columns:3; column-gap:40px}
.zps-lines li{break-inside:avoid}
.zps-kontakt__grid--form{grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch}
.zps-kontakt__grid--form > .zps-kblock:last-child > .brxe-shortcode{flex:1; display:flex; width:100%}
.zps-kontakt__grid--form .zps-map{flex:1; display:flex; flex-direction:column; width:100%}
.zps-kontakt__grid--form .zps-map__canvas{flex:1; min-height:320px; height:auto}
.zps-facts ul{columns:2; column-gap:48px}
.zps-facts li{break-inside:avoid; grid-template-columns:180px 1fr}
.zps-facts li:last-child{border-bottom:1px solid var(--zps-line)}
@media (max-width:1200px){ .zps-people{grid-template-columns:repeat(2, minmax(0,1fr))} .zps-lines ul{columns:2} }
@media (max-width:1000px){ .zps-kontakt__main{grid-template-columns:repeat(2, minmax(0,1fr))} .zps-facts ul{columns:1} .zps-kontakt__grid--form{grid-template-columns:minmax(0,1fr)} }
@media (max-width:640px){ .zps-kontakt__main,.zps-people{grid-template-columns:minmax(0,1fr)} .zps-lines ul{columns:1} }

/* =========================================================================
   21. SPODNÝ RIADOK PÄTIČKY – pokojný, s podpisom belimit (v1.18)
   ========================================================================= */
.zps-ftr__bar{background:#fff; color:var(--zps-muted); border-top:1px solid var(--zps-line); font:600 .875rem var(--zps-font-head); letter-spacing:.01em}
.zps-ftr__bar .zps-wrap{min-height:64px}
.zps-ftr__bar .brxe-shortcode{display:inline-flex; align-items:center; flex-wrap:wrap; gap:6px 16px; width:auto}
.zps-ftr__bar a{color:var(--zps-muted); text-decoration:none; transition:color .15s}
.zps-ftr__bar a:hover{color:var(--zps-green-ink)}
.zps-copy{color:var(--zps-ink)}
.zps-credit{display:inline-flex; align-items:center; gap:7px; padding-left:16px; border-left:1px solid var(--zps-line)}
.zps-credit-logo{display:inline-block; width:48px; height:13px; background:currentColor; -webkit-mask:url(assets/img/belimit-logo.png) left center/contain no-repeat; mask:url(assets/img/belimit-logo.png) left center/contain no-repeat; transform:translateY(-1px)}
.zps-top{display:inline-flex; align-items:center; gap:8px}
.zps-top .zps-ico{width:34px; height:34px; padding:7px; border:1px solid var(--zps-line); border-radius:50%; color:var(--zps-green-ink); transition:border-color .15s, transform .15s}
.zps-top:hover .zps-ico{border-color:var(--zps-green-ink); transform:translateY(-2px)}
@media (max-width:767px){
  .zps-ftr__bar .zps-wrap{flex-direction:column; justify-content:center; text-align:center; gap:12px; padding-block:16px}
  .zps-ftr__bar .brxe-shortcode{justify-content:center}
  .zps-credit{border-left:0; padding-left:0}
}
/* spodný pás ostáva zelený (v1.18.1) */
.zps-ftr__bar{background:var(--zps-green-ink); border-top:0; color:#CFE6D8}
.zps-ftr__bar a{color:#CFE6D8}
.zps-ftr__bar a:hover{color:#fff}
.zps-copy{color:#fff}
.zps-credit{border-left-color:rgba(255,255,255,.3)}
.zps-top .zps-ico{color:#fff; border-color:rgba(255,255,255,.4)}
.zps-top:hover .zps-ico{border-color:#fff}

/* =========================================================================
   22. BOHATŠIA PÄTIČKA (v1.19)
   ========================================================================= */
.zps-ftr__grid{grid-template-columns:1.35fr 1fr 1fr 1.2fr .9fr; gap:40px; padding-block:56px 44px}
.zps-ftr__about p{font-size:.95rem; margin:0 0 10px}
.zps-ftr__about .zps-ftr__logo img{height:76px!important}
.zps-ftr__founder{display:flex; flex-direction:column; gap:8px; margin-top:22px; padding-top:18px; border-top:1px solid var(--zps-line)}
.zps-ftr__label{font:600 .8rem var(--zps-font-head); color:var(--zps-muted); text-transform:uppercase; letter-spacing:.06em}
.zps-ftr__founder .brxe-shortcode{width:auto}
.zps-ftr__founder .zps-founder{justify-content:flex-start; padding:0}
.zps-ftr__founder .zps-founder img{height:64px!important}
.zps-ftr h5{font-size:1rem; margin:0 0 14px}
.zps-flinks{list-style:none; margin:0; padding:0; display:grid; gap:9px}
.zps-flinks a{color:var(--zps-ink); text-decoration:none; font-size:.97rem}
.zps-flinks a:hover{color:var(--zps-green-ink); text-decoration:underline; text-underline-offset:3px}
.zps-ftr .zps-list{font-size:.95rem; gap:9px}
.zps-ftr .zps-more{margin-top:12px; font-size:.95rem}
@media (max-width:1200px){ .zps-ftr__grid{grid-template-columns:repeat(3, minmax(0,1fr))} .zps-ftr__about{grid-column:1 / -1; display:grid!important; grid-template-columns:auto 1fr auto; gap:24px; align-items:center} .zps-ftr__founder{margin:0; padding:0; border:0} }
@media (max-width:760px){ .zps-ftr__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} .zps-ftr__about{display:flex!important; flex-direction:column; align-items:flex-start} }
@media (max-width:480px){ .zps-ftr__grid{grid-template-columns:minmax(0,1fr)} }

/* kontaktné karty zarovnané (v1.19.1): ikona – nadpis – text v rovnakej výške, nič nepresahuje */
.zps-kcard{gap:10px}
.zps-kcard > .brxe-shortcode:first-child{height:2.4rem; display:flex; align-items:center}
.zps-kcard__title{margin:4px 0 2px; line-height:1.2}
.zps-kcard__body{font-size:1rem; line-height:1.6; min-width:0; overflow-wrap:anywhere}
.zps-kcard__body a[href^="mailto:"]{font-size:.94em}
.zps-kcard--founder .zps-founder img{height:64px!important}

/* belimit podpis nižšie, plávajúce „Hore“ (v1.20) */
.zps-credit-logo{transform:translateY(1.5px)}
.zps-ftr__bar .zps-wrap{justify-content:flex-start}
.zps-totop{position:fixed; right:24px; bottom:24px; z-index:900; width:52px; height:52px; border-radius:50%; display:grid; place-items:center; background:var(--zps-green-ink); color:#fff; box-shadow:0 8px 24px -6px rgba(22,49,59,.45); opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .2s, transform .2s, visibility .2s, background .15s}
.zps-totop.is-on{opacity:1; visibility:visible; transform:none}
.zps-totop:hover{background:#005A2E}
.zps-totop .zps-ico{color:#fff; width:24px; height:24px}
@media (max-width:600px){ .zps-totop{right:16px; bottom:16px; width:48px; height:48px} }
.zps-credit-logo{transform:translateY(.5px)}
.zps-totop{box-shadow:0 0 0 3px #fff, 0 8px 24px -6px rgba(22,49,59,.45)}

/* =========================================================================
   23. PALETA LEN ZELENÁ + ORANŽOVÁ Z LOGA (v1.21)
   Pozadia sekcií = jemná broskyňová (zriedená oranžová postavička), neutrály so zeleným nádychom.
   ========================================================================= */
:root{
  --zps-warm:#FBF3EA;        /* pozadie sekcií – jemná oranžová z loga */
  --zps-sky-soft:var(--zps-warm);
  --zps-ink:#1C2B24;         /* tmavý text – zelenkavá čierna */
  --zps-muted:#58655D;
  --zps-line:#E7E1D7;
}
.zps-form input[type=text],.zps-form input[type=email],.zps-form input[type=tel],.zps-form textarea{border-color:#D3CCC0}
.zps-side .zps-list a span,.zps-side .zps-list li{overflow-wrap:normal}
/* zriaďovateľ – logo vycentrované v karte */
.zps-kcard--founder > .brxe-shortcode:last-child{flex:1; display:grid; place-items:center; width:100%}
.zps-kcard--founder .zps-founder{justify-content:center}
.zps-ftr__bar .zps-wrap{justify-content:space-between}
.zps-credit{border-left:0; padding-left:0}
.zps-credit-logo{transform:translateY(-.5px)}
.zps-totop{transition:opacity .2s, transform .2s, visibility .2s, background .15s, bottom .1s}
@media (min-width:1201px){ .zps-ftr__grid{grid-template-columns:1.2fr .95fr 1fr 1.45fr .85fr; gap:36px} }

/* =========================================================================
   24. ŠALVIA + RYTMUS (v1.22): šalviové sekcie, tmavozelený pás, zvýraznená aktualita
   ========================================================================= */
:root{ --zps-warm:#EEF4EF; --zps-sky-soft:#EEF4EF; --zps-deep:#0D4A2B; }
/* tmavozelený pás s tromi blokmi */
.zps-band{background:var(--zps-deep); color:#DCEBE1}
.zps-band .zps-three__item{border-right-color:rgba(255,255,255,.14)}
.zps-band h3{color:#fff}
.zps-band .zps-three__item p{color:#C6DCCD}
.zps-band .zps-ico{color:#A9DBBC}
.zps-band .zps-more{color:#fff}
.zps-band .zps-more:hover{color:#A9DBBC}
@media (max-width:860px){ .zps-band .zps-three__item{border-bottom-color:rgba(255,255,255,.14)} }
/* nadpis sekcie + odkaz vpravo */
.zps-sechead{display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-direction:row!important; margin-bottom:28px}
.zps-sechead .zps-news-title{margin:0}
.zps-sechead > *{width:auto}
/* karty aktualít – jemný pohyb */
.zps-card__body{display:flex; flex-direction:column; gap:10px}
.zps-card__img{transition:transform .25s, box-shadow .25s}
.zps-card:hover .zps-card__img{transform:translateY(-3px); box-shadow:0 14px 30px -14px rgba(13,74,43,.45)}
/* zvýraznená najnovšia aktualita */
.zps-card--featured{grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:28px; align-items:center; background:#fff; border-radius:var(--zps-r-lg); padding:14px; }
.zps-card--featured .zps-card__img{aspect-ratio:4 / 3}
.zps-card--featured:hover .zps-card__img{transform:none; box-shadow:none}
.zps-card--featured .zps-card__body{padding:8px 14px 8px 0; gap:12px}
.zps-card--featured h3{font-size:clamp(1.35rem,2vw,1.7rem)}
.zps-card--featured p{font-size:1.02rem}
.zps-card--featured .zps-card__meta::before{content:"Najnovšie"; font:600 .78rem var(--zps-font-head); text-transform:uppercase; letter-spacing:.07em; color:var(--zps-green-ink); margin-right:4px}
@media (max-width:760px){ .zps-card--featured{grid-template-columns:minmax(0,1fr); padding:10px} .zps-card--featured .zps-card__body{padding:4px 6px 10px} }

/* =========================================================================
   25. JEMNÉ ORANŽOVÉ AKCENTY Z LOGA (v1.23) – iba detaily, nikdy plochy ani text na bielom v plnej oranžovej
   ========================================================================= */
:root{ --zps-orange-ink:#A9520A; --zps-orange-light:#F6A85E; }
.zps-menu .bricks-nav-menu > li > a::after,
.zps-menu .bricks-nav-menu > li > .brx-submenu-toggle::after{background:var(--zps-orange)}
.zps-kicker{color:var(--zps-orange-ink)}
.zps-card--featured .zps-card__meta::before{color:var(--zps-orange-ink)}
.zps-more .zps-ico,.zps-side__lnk .zps-ico,.zps-btn--s .zps-ico{color:var(--zps-orange)}
.zps-btn--p .zps-ico{color:var(--zps-orange-light)}
.zps-band .zps-more{color:var(--zps-orange-light)}
.zps-band .zps-more .zps-ico{color:var(--zps-orange-light)}
.zps-band .zps-more:hover{color:#fff}
.zps-flinks a:hover,.zps-ftr .zps-list a:hover{text-decoration:underline; text-decoration-color:var(--zps-orange); text-decoration-thickness:2px; text-underline-offset:4px}
.zps-subnav a:hover{text-decoration-color:var(--zps-orange); text-decoration-thickness:2px}
.zps-pages a:hover{border-color:var(--zps-orange)}
.zps-card h3 a:hover{text-decoration:underline; text-decoration-color:var(--zps-orange); text-decoration-thickness:2px; text-underline-offset:4px; color:var(--zps-ink)}

/* =========================================================================
   26. MENU – kompaktné, Kontakt ako tlačidlo, podmenu bez podfarbenia (v1.24)
   ========================================================================= */
.zps-menu .bricks-nav-menu{gap:2px; align-items:center}
.zps-menu .bricks-nav-menu > li{margin:0!important}
.zps-menu .bricks-nav-menu > li > a,
.zps-menu .bricks-nav-menu > li > .brx-submenu-toggle{padding:10px 13px; font-size:1rem; font-weight:500; border-radius:var(--zps-r-s); transition:color .15s}
.zps-menu .bricks-nav-menu > li > .brx-submenu-toggle > button{margin-left:4px!important; padding:0}
.zps-menu .bricks-nav-menu > li > .brx-submenu-toggle > button svg{width:10px; height:10px; transition:transform .2s}
.zps-menu .bricks-nav-menu > li:hover > .brx-submenu-toggle > button svg{transform:rotate(180deg)}
.zps-menu .bricks-nav-menu > li:hover > a,
.zps-menu .bricks-nav-menu > li:hover > .brx-submenu-toggle{color:var(--zps-green-ink)}
.zps-menu .bricks-nav-menu > li > a::after,
.zps-menu .bricks-nav-menu > li > .brx-submenu-toggle::after{left:13px; right:13px; bottom:3px; height:2px}
/* Kontakt = tlačidlo na konci menu */
.zps-menu .bricks-nav-menu > li:last-child{margin-left:10px!important}
.zps-menu .bricks-nav-menu > li:last-child > a{background:var(--zps-green-ink); color:#fff!important; padding:11px 20px; font-weight:600}
.zps-menu .bricks-nav-menu > li:last-child > a:hover{background:var(--zps-deep)}
.zps-menu .bricks-nav-menu > li:last-child > a::after{display:none}
/* podmenu */
.zps-menu .sub-menu{min-width:340px; padding:10px 8px; border-radius:var(--zps-r-lg); box-shadow:0 20px 44px -18px rgba(13,74,43,.35); border:1px solid var(--zps-line)}
.zps-menu .sub-menu li a{background:none!important; padding:9px 14px; border-radius:0; font-size:1rem; color:var(--zps-ink); white-space:nowrap}
.zps-menu .sub-menu li a:hover,
.zps-menu .sub-menu li.current-menu-item > a,
.zps-menu .sub-menu li.current-menu-ancestor > a{color:var(--zps-green-ink); text-decoration:underline; text-decoration-color:var(--zps-orange); text-decoration-thickness:2px; text-underline-offset:5px}
.zps-menu .sub-menu .sub-menu{margin:2px 0 6px 22px!important; padding:0 0 0 2px; border:0; border-left:1px solid var(--zps-line); box-shadow:none; min-width:0; border-radius:0}
.zps-menu .sub-menu .sub-menu li a{padding:6px 12px; font-size:.94rem; color:var(--zps-muted)}
.zps-menu .sub-menu .sub-menu{position:static!important; display:block!important; opacity:1!important; visibility:visible!important; transform:none!important; inset:auto!important}
.zps-menu .sub-menu .brx-submenu-toggle{padding:0}
.zps-menu .sub-menu .brx-submenu-toggle button{display:none}
.zps-menu .sub-menu .brx-submenu-toggle > a{padding:9px 14px}
.zps-menu .sub-menu li a:hover,
.zps-menu .sub-menu li.current-menu-item > a,
.zps-menu .sub-menu li.current-menu-item > .brx-submenu-toggle > a,
.zps-menu .sub-menu li.current-menu-ancestor > .brx-submenu-toggle > a{color:var(--zps-green-ink)!important; text-decoration:underline!important; text-decoration-color:var(--zps-orange)!important; text-decoration-thickness:2px!important; text-underline-offset:5px}

/* =========================================================================
   27. ČASOPIS – obálky čísel (v1.25)
   ========================================================================= */
.zps-casopis{display:flex; flex-direction:column; gap:36px}
.zps-casopis__intro{display:grid; gap:6px; padding-bottom:24px; border-bottom:1px solid var(--zps-line)}
.zps-casopis__intro h2{font-size:clamp(1.6rem,2.6vw,2.1rem); margin:0}
.zps-casopis__intro p{margin:0; color:var(--zps-muted); max-width:62ch}
.zps-casopis__kicker{font:600 .85rem var(--zps-font-head)!important; color:var(--zps-orange-ink)!important; text-transform:uppercase; letter-spacing:.06em}
.zps-casopis__h{font-size:1.2rem; margin:0 0 18px}
.zps-pubs{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:28px 22px}
.zps-pub{display:flex; flex-direction:column; gap:6px; text-decoration:none; color:var(--zps-ink)}
.zps-pub__cover{display:block; aspect-ratio:520 / 735; border-radius:var(--zps-r-s); overflow:hidden; background:var(--zps-green-soft); box-shadow:0 1px 0 var(--zps-line), 0 10px 24px -14px rgba(13,74,43,.35); transition:transform .25s, box-shadow .25s; margin-bottom:6px}
.zps-pub__cover img{width:100%; height:100%; object-fit:cover; display:block; border-radius:0!important}
.zps-pub:hover .zps-pub__cover{transform:translateY(-4px); box-shadow:0 1px 0 var(--zps-line), 0 18px 32px -14px rgba(13,74,43,.45)}
.zps-pub__kat{font:600 .75rem var(--zps-font-head); text-transform:uppercase; letter-spacing:.06em; color:var(--zps-orange-ink)}
.zps-pub__title{font:600 1rem/1.3 var(--zps-font-head)}
.zps-pub:hover .zps-pub__title{color:var(--zps-green-ink); text-decoration:underline; text-decoration-color:var(--zps-orange); text-decoration-thickness:2px; text-underline-offset:4px}
.zps-pub__meta{font-size:.85rem; color:var(--zps-muted)}
.zps-prose .zps-casopis section > *{margin-top:0}
@media (max-width:1100px){ .zps-pubs{grid-template-columns:repeat(3, minmax(0,1fr))} }
@media (max-width:640px){ .zps-pubs{grid-template-columns:repeat(2, minmax(0,1fr)); gap:22px 14px} }
.zps-casopis__motto{font:italic 400 1.1rem var(--zps-font-body)!important; color:var(--zps-green-ink)!important}

/* =========================================================================
   28. ČÍTAČKA ČASOPISOV (v1.26)
   ========================================================================= */
.zps-reader{position:fixed; inset:0; z-index:10000; background:#13241B; display:flex; flex-direction:column; color:#E6F0E9}
.zps-reader[hidden]{display:none}
.zps-reader__bar{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; padding:12px 20px; border-bottom:1px solid rgba(255,255,255,.1)}
.zps-reader__title{margin:0; font:600 1rem var(--zps-font-head); color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.zps-reader__count{margin:0; font:500 .95rem var(--zps-font-head); color:#C9DDD0}
.zps-reader__actions{display:flex; gap:8px; justify-content:flex-end}
.zps-reader__btn{display:inline-flex; align-items:center; gap:8px; height:42px; padding:0 14px; border-radius:var(--zps-r-s); border:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; font:600 .92rem var(--zps-font-head); text-decoration:none; cursor:pointer}
.zps-reader__btn:hover{border-color:var(--zps-orange-light); color:#fff}
.zps-reader__btn .zps-ico{color:var(--zps-orange-light); width:20px; height:20px}
.zps-reader__stage{position:relative; flex:1; min-height:0; display:flex; align-items:center; justify-content:center; padding:16px 70px}
.zps-reader__pages{display:flex; justify-content:center; align-items:center; gap:0; cursor:pointer; max-height:100%}
.zps-reader__pages canvas{display:block; background:#fff; box-shadow:0 18px 40px -12px rgba(0,0,0,.6)}
.zps-reader__pages.is-spread canvas:first-child{box-shadow:-10px 18px 40px -12px rgba(0,0,0,.6)}
.zps-reader__pages.is-spread canvas:last-child{box-shadow:10px 18px 40px -12px rgba(0,0,0,.6)}
.zps-reader__nav{position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; border:0; background:rgba(255,255,255,.1); color:#fff; display:grid; place-items:center; cursor:pointer}
.zps-reader__nav:hover:not([disabled]){background:rgba(255,255,255,.2)}
.zps-reader__nav[disabled]{opacity:.25; cursor:default}
.zps-reader__nav .zps-ico{color:#fff; width:26px; height:26px}
.zps-reader__prev{left:12px} .zps-reader__prev .zps-ico{transform:rotate(180deg)}
.zps-reader__next{right:12px}
.zps-reader__loading{position:absolute; margin:0; font:500 1rem var(--zps-font-head); color:#C9DDD0; display:none}
.zps-reader.is-loading .zps-reader__loading,.zps-reader.is-error .zps-reader__loading{display:block}
@media (max-width:700px){
  .zps-reader__bar{grid-template-columns:1fr auto; padding:10px 12px}
  .zps-reader__count{grid-row:2; grid-column:1 / -1}
  .zps-reader__btn span{display:none}
  .zps-reader__stage{padding:10px 10px 74px}
  .zps-reader__nav{top:auto; bottom:12px; transform:none}
}
