/* Mestský prehľad nadväzuje na písmo a farby aktívnej témy. */
.nvp-catalog,.nvp-articles { margin-block: 0 2.5rem; color: var(--theme-text-color,#374151); }
.nvp-catalog [hidden],.nvp-city-list > li[hidden] { display:none!important; }
.nvp-filters { display:flex; flex-wrap:wrap; gap:.5rem; }
.nvp-filters button,.nvp-expand { font:inherit; cursor:pointer; border:1px solid var(--theme-border-color,#d1d5db); border-radius:3px; padding:.5em .85em; background:var(--theme-palette-color-8,#fff); color:inherit; }
.nvp-filters button[aria-pressed="true"] { background:var(--theme-palette-color-1,#176b8a); color:#fff; border-color:var(--theme-palette-color-1,#176b8a); }
.nvp-catalog button:focus-visible,.nvp-catalog a:focus-visible,.nvp-articles a:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.nvp-city-head,.nvp-city-list > li { display:grid; grid-template-columns:24px minmax(0,1fr) 64px 104px 118px; gap:4px 12px; align-items:center; }
.nvp-city-head { font-size:.8em; color:var(--theme-text-color,#536579); padding-bottom:8px; border-bottom:1px solid var(--theme-border-color,#dce3e9); }
.nvp-city-head span:nth-child(n+3) { text-align:right; }
.nvp-city-list { padding:0; margin:0 0 1rem; list-style:none; counter-reset:nvp-city; }
.nvp-city-list > li { counter-increment:nvp-city; padding:13px 0; border-bottom:1px solid var(--theme-border-color,#dce3e9); overflow-wrap:anywhere; }
.nvp-city-list > li::before { content:var(--nvp-position,counter(nvp-city) "."); grid-column:1; grid-row:1; font-variant-numeric:tabular-nums; align-self:start; }
.nvp-city-name { grid-column:2; grid-row:1; font-size:1em; font-weight:700; }
.nvp-city-name a { color:var(--theme-palette-color-1,#536f32); }
.nvp-city-name small { display:block; font-weight:400; font-size:.8em; }
.nvp-city-phase { grid-column:4; grid-row:1; }
.nvp-city-sales { grid-column:5; grid-row:1; }
.nvp-city-phase,.nvp-city-sales { text-align:right; font-size:.9em; }
.nvp-milestone { grid-column:2; grid-row:2; font-size:.85em; line-height:1.45; }
.nvp-milestone a { color:inherit; }
.nvp-milestone time { white-space:nowrap; }
.nvp-city-list .nvp-price { grid-column:3; grid-row:1; text-align:right; font-size:.9em; }
.nvp-city-name a:hover,.nvp-milestone a:hover,.nvp-price a:hover { text-decoration:underline; }
.nvp-filters { gap:18px; margin-bottom:12px; }
.nvp-filters button { padding:5px 0; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; }
.nvp-filters button[aria-pressed="true"] { color:var(--theme-palette-color-1,#536f32); background:transparent; border-bottom-color:currentColor; font-weight:700; }
.nvp-timeline li { margin-bottom:.65em; scroll-margin-top:100px; }
.nvp-verified { display:block; font-size:.78em; line-height:1.5; margin-top:.25em; }
.nvp-results { font-size:.85em; margin-block:.75rem; }
.nvp-section-head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.75rem; margin-bottom:1rem; }
.nvp-section-head h2 { margin:0; }
.nvp-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.nvp-article-grid img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.nvp-article-grid h3 { font-size:1.05rem; line-height:1.4; margin:.6rem 0; }
.nvp-article-grid p { font-size:.9em; }
.nvp-widget-extra { grid-column:2 / -1; font-size:.85em; }
.nvp-widget-extra .nvp-price { margin-top:.45rem; }
@media(max-width:600px) {
 .nvp-city-head { display:none; }
 .nvp-city-list > li { grid-template-columns:22px minmax(0,1fr) auto; gap:4px 9px; }
 .nvp-city-name,.nvp-milestone { grid-column:2 / 4; grid-row:auto; }
 .nvp-city-phase,.nvp-city-sales { grid-column:2; grid-row:auto; text-align:left; }
 .nvp-city-list .nvp-price { grid-column:3; grid-row:3 / 5; align-self:center; }
 .nvp-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
}
@media(pointer:coarse) { .nvp-filters button,.nvp-price a { min-height:44px; display:inline-flex; align-items:center; } }
@media(max-width:440px) { .nvp-article-grid { grid-template-columns:1fr; } }
/* Koniec štýlov mestského prehľadu. */

.nvp-project-list > li > a,.nvp-project-list > li > .nvp-name { grid-row:1; }
.nvp-widget-extra { grid-row:3; }
/* Koniec doplnenia widgetu. */

/* Tabuľka mesta: filtre a počet spolu, míľnik na riadku názvu. */
.nvp-catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px 20px; margin-bottom:12px; }
.nvp-catalog-toolbar .nvp-filters { margin:0; }
.nvp-catalog-toolbar .nvp-results { margin:0; white-space:nowrap; }
.nvp-city-project { grid-column:2 / 4; grid-row:1; display:flex; align-items:baseline; gap:0; min-width:0; overflow:hidden; }
.nvp-city-project .nvp-city-name { flex:0 0 auto; font-size:1em; }
.nvp-city-project .nvp-milestone { display:flex; flex:1 1 auto; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nvp-city-project .nvp-milestone::before { content:"/"; flex:none; padding-inline:8px; }
.nvp-city-project .nvp-milestone a,.nvp-city-project .nvp-milestone > span { display:block; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
@media(max-width:600px) {
 .nvp-catalog-toolbar { flex-wrap:wrap; }
 .nvp-city-project { grid-column:2 / 4; grid-row:auto; }
 .nvp-city-project .nvp-city-name { flex-shrink:1; min-width:0; }
 .nvp-city-project .nvp-city-name a { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
/* Koniec úprav tabuľky mesta. */

/* Navigácia miest v úvode krajskej kategórie. */
.nvp-category-cities { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:18px; text-align:left; }
.nvp-category-cities a { color:#526f31; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.nvp-category-cities a:hover { color:#485f2d; }
.nvp-category-cities a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
@media(pointer:coarse) { .nvp-category-cities a { min-height:44px; display:inline-flex; align-items:center; } }
/* Koniec navigácie miest. */

/* Cenník je súčasťou posledného stĺpca, nie samostatný stĺpec. */
.nvp-city-head,.nvp-city-list > li { grid-template-columns:24px minmax(0,1fr) 104px 118px; }
.nvp-city-head span:empty { display:none; }
.nvp-city-project { grid-column:2; }
.nvp-city-phase { grid-column:3; }
.nvp-city-sales { grid-column:4; }
.nvp-city-sales a { color:#526f31; text-decoration:underline; text-underline-offset:3px; }
.nvp-city-sales a:hover { color:#485f2d; }
@media(max-width:600px) {
 .nvp-city-list > li { grid-template-columns:22px minmax(0,1fr) auto; }
 .nvp-city-project { grid-column:2 / 4; }
 .nvp-city-phase,.nvp-city-sales { grid-column:2 / 4; grid-row:auto; text-align:left; }
}
@media(pointer:coarse) { .nvp-city-sales a { min-height:44px; display:inline-flex; align-items:center; } }
/* Koniec zobrazenia cenníka. */

/* Neaktívne filtre majú sivé podčiarknutie, aktívny zostáva zelený. */
.nvp-filters button[aria-pressed="false"] { border-bottom-color:#b8bec5; }
.nvp-filters button[aria-pressed="false"]:hover { border-bottom-color:#747d88; }
/* Koniec úpravy filtrov. */

/* Druh ponuky za názvom projektu. */
.nvp-city-offer { flex:0 0 auto; font-size:.8em; color:var(--theme-text-color,#536579); }
.nvp-city-offer::before { content:"·"; padding-inline:7px; }
@media(max-width:600px) { .nvp-city-offer { font-size:.75em; } }
/* Koniec druhu ponuky. */

/* Kompaktnejšie riadky a menšie označenie ponuky. */
.nvp-city-list > li { padding-block:8px; }
.nvp-city-offer { font-size:.7em; }
@media(max-width:600px) { .nvp-city-offer { font-size:.7em; } }
/* Koniec kompaktnej tabuľky. */

.nvp-section-pagination { margin: 24px 0; }
.nvp-section-pagination .page-numbers { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; }
.nvp-section-pagination a, .nvp-section-pagination span { display:block; padding:8px 12px; }
.nvp-section-pagination .current { background:#526f31; color:#fff; }
/* End section pagination. */

/* Schválený kategóriový prehľad beta.33. */
.nvp-catalog { color:#3a4f66; }
.nvp-catalog .nvp-city-head,.nvp-catalog .nvp-results,.nvp-catalog .nvp-empty,
.nvp-catalog .nvp-filters button,.nvp-catalog .nvp-expand { color:#3a4f66; }
.nvp-catalog .nvp-filters button[aria-pressed="true"] { color:#536f32; }
.nvp-catalog .nvp-city-head,.nvp-catalog .nvp-city-list > li { grid-template-columns:24px minmax(0,1fr) 112px 96px; gap:4px 16px; }
.nvp-catalog .nvp-city-head span:nth-child(n+3) { text-align:right; }
.nvp-catalog .nvp-city-name { font-weight:700; }
.nvp-catalog .nvp-city-name a,.nvp-catalog .nvp-city-name strong { font-weight:700; color:#536f32; text-decoration:none; }
.nvp-catalog .nvp-city-name a:hover { text-decoration:underline; }
.nvp-catalog .nvp-city-list > li::before { white-space:nowrap; }
.nvp-catalog .nvp-city-name small { color:#777; font-weight:400; }
.nvp-catalog .nvp-city-project { grid-column:2; grid-row:1; min-width:0; }
.nvp-catalog .nvp-city-date { flex:none; font-size:.75em; color:#777; white-space:nowrap; font-variant-numeric:tabular-nums; margin-left:8px; }
.nvp-catalog .nvp-city-date::before { content:"·"; margin-right:8px; }
.nvp-catalog .nvp-milestone { color:#3a4f66; }
.nvp-catalog .nvp-city-phase { grid-column:3; grid-row:1; text-align:right; color:#3a4f66; }
.nvp-catalog .nvp-city-phase a { color:#536f32; font-weight:400; text-decoration:underline; text-underline-offset:3px; }
.nvp-catalog .nvp-city-completion { grid-column:4; grid-row:1; text-align:right; font-size:.9em; color:#3a4f66; font-variant-numeric:tabular-nums; }
.nvp-catalog .nvp-completion-label { display:none; }
.nvp-catalog .nvp-catalog-toolbar { flex-wrap:wrap; }
.nvp-catalog .nvp-filters { flex-wrap:wrap; gap:12px 18px; }
@media(max-width:800px) {
 .nvp-catalog .nvp-city-project { flex-wrap:wrap; gap:3px 0; }
 .nvp-catalog .nvp-city-project .nvp-city-name { flex:0 1 auto; max-width:100%; overflow-wrap:anywhere; }
 .nvp-catalog .nvp-city-project .nvp-milestone { flex-basis:100%; }
 .nvp-catalog .nvp-city-project .nvp-milestone::before { display:none; }
}
@media(max-width:600px) {
 .nvp-catalog .nvp-city-head { display:none; }
 .nvp-catalog .nvp-city-list > li { grid-template-columns:22px minmax(0,1fr) auto; gap:6px 9px; padding-block:12px; }
 .nvp-catalog .nvp-city-project { grid-column:2 / 4; grid-row:1; overflow:visible; }
 .nvp-catalog .nvp-city-project .nvp-city-name a { display:inline; white-space:normal; overflow:visible; }
 .nvp-catalog .nvp-city-project .nvp-milestone { white-space:normal; overflow:visible; }
 .nvp-catalog .nvp-city-project .nvp-milestone > span { white-space:normal; overflow:visible; }
 .nvp-catalog .nvp-city-phase { grid-column:2; grid-row:2; text-align:left; }
 .nvp-catalog .nvp-city-completion { grid-column:3; grid-row:2; text-align:right; }
 .nvp-catalog .nvp-completion-label { display:inline; }
 .nvp-catalog .nvp-city-completion:empty { display:none; }
 .nvp-catalog .nvp-catalog-toolbar .nvp-results { font-size:.8em; }
 .nvp-catalog .nvp-city-date { margin-left:6px; font-size:.75em; }
}
@media(pointer:coarse) { .nvp-catalog .nvp-city-phase a { min-height:44px; display:inline-flex; align-items:center; } }
/* Koniec schváleného kategóriového prehľadu. */
