/* ── Swiss-style content layer ─────────────────────────────── */
.sw { color:#16243A; }
.sw-mono { font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; font-variant-numeric:tabular-nums; }
.sw-lead { font-size:1.15rem; line-height:1.75; color:#16243A; margin:0 0 2.75rem; max-width:62ch; }

/* index */
.sw-index { border-top:2px solid #16243A; margin:0 0 3.5rem; }
.sw-index a { display:flex; align-items:baseline; gap:1rem; padding:.85rem 0; border-bottom:1px solid #E2E8F2; text-decoration:none; color:#16243A; }
.sw-index a:hover .sw-ix-t { color:#0E4DA4; }
.sw-index a:hover .sw-ix-n { color:#D81E2C; }
.sw-ix-n { font-size:.72rem; font-weight:700; letter-spacing:.12em; color:#0E4DA4; flex:none; width:1.9rem; }
.sw-ix-t { font-size:.98rem; font-weight:700; letter-spacing:-.01em; flex:none; }
.sw-ix-fill { flex:1 1 auto; min-width:1.5rem; height:4px; align-self:flex-end; margin-bottom:.3rem;
              background-image:radial-gradient(circle, #AEC0D6 1.1px, rgba(0,0,0,0) 1.2px); background-size:10px 4px; background-repeat:repeat-x; }
.sw-ix-d { font-size:.78rem; letter-spacing:.06em; color:#5A6B82; flex:none; }

/* section */
.sw-sec { border-top:2px solid #16243A; padding-top:1.15rem; margin:0 0 3.5rem; }
.sw-sec-head { display:grid; grid-template-columns:auto 150px 1fr; gap:0 1.75rem; align-items:start; margin-bottom:1.9rem; }

/* obrázky — tónované, prepínateľné triedou: -b modrá / -r červená / bez triedy šedá */
.sw-figwrap { margin:0; width:150px; align-self:start; }
.sw-fig { display:block; position:relative; isolation:isolate; width:150px; height:150px; overflow:hidden;
          transform-origin:100% 0; transition:transform .4s cubic-bezier(.22,1,.36,1); will-change:transform; }
.sw-fig img { display:block; width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.05); transition:filter .4s ease; }
.sw-fig::after { content:""; position:absolute; inset:0; mix-blend-mode:multiply; transition:opacity .4s ease; }
.sw-fig-b::after { background:#0E4DA4; opacity:.38; }
.sw-fig-r::after { background:#D81E2C; opacity:.34; }
/* produktová dlaždica — bez orezu, produkt na tónovanom poli */
.sw-fig-p { background:#E5EBF5; }
.sw-fig-p img { object-fit:contain; padding:12px; mix-blend-mode:multiply; transition:filter .4s ease, mix-blend-mode .4s ease; }
.sw-fig-p::after { display:none; }
.sw-figwrap figcaption { margin-top:.55rem; font-size:.62rem; line-height:1.4; letter-spacing:.1em; text-transform:uppercase; color:#8798AE; }

/* hover — zväčší sa smerom doľava-dole, získa farbu, prekryje popis aj číslo */
.sw-figwrap:hover .sw-fig { transform:scale(1.45); z-index:5; cursor:default; }
.sw-figwrap:hover .sw-fig img { filter:grayscale(0) contrast(1); }
.sw-figwrap:hover .sw-fig-p img { mix-blend-mode:normal; }
.sw-figwrap:hover .sw-fig::after { opacity:0; }
.sw-sec-num { font-size:2.1rem; font-weight:700; line-height:1; color:#D81E2C; letter-spacing:-.04em; }
.sw-sec-kicker { display:block; font-size:.7rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#5A6B82; margin-bottom:.4rem; }
.sw-sec-title { font-size:1.6rem; font-weight:700; letter-spacing:-.02em; color:#16243A; margin:0 0 .6rem; line-height:1.15; }
.sw-sec-desc { font-size:.95rem; line-height:1.7; color:#5A6B82; margin:0; max-width:54ch; }

/* note */
.sw-note { border-left:3px solid #D81E2C; padding-left:1.25rem; margin:0 0 2.25rem; }
.sw-note-label { display:block; font-size:.68rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#D81E2C; margin-bottom:.45rem; }
.sw-note h4 { font-size:1.05rem; font-weight:700; color:#16243A; margin:0 0 .45rem; letter-spacing:-.01em; }
.sw-note p { font-size:.9rem; line-height:1.7; color:#5A6B82; margin:0; max-width:58ch; }

/* columns + dotted lists */
.sw-cols { display:grid; gap:2rem 2.5rem; }
.sw-cols-2 { grid-template-columns:repeat(2,1fr); }
.sw-cols-3 { grid-template-columns:repeat(3,1fr); }
.sw-col-h { font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#0E4DA4; margin:0 0 .2rem; padding-bottom:.6rem; border-bottom:2px solid #0E4DA4; }
.sw-list { list-style:none; margin:0; padding:0; }
.sw-list li { font-size:.9rem; line-height:1.5; color:#16243A; padding:.7rem 0 .75rem;
              background-image:radial-gradient(circle, #AEC0D6 1.1px, rgba(0,0,0,0) 1.2px); background-size:10px 4px; background-repeat:repeat-x; background-position:left bottom; }

/* usage strip */
.sw-use { border-top:2px solid #16243A; padding-top:1.15rem; }
.sw-use-h { font-size:.7rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#5A6B82; margin:0 0 1.1rem; }
.sw-use-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.sw-use-grid div { font-size:.88rem; line-height:1.5; color:#16243A; padding:0 1.4rem 0 1.4rem;
                   background-image:radial-gradient(circle, #AEC0D6 1.1px, rgba(0,0,0,0) 1.2px); background-size:4px 10px; background-repeat:repeat-y; background-position:right top; }
.sw-use-grid div:first-child { padding-left:0; }
.sw-use-grid div:last-child { background-image:none; padding-right:0; }

/* sidebar */
.sw-cta { background:#0E4DA4; color:#fff; padding:1.9rem; position:sticky; top:90px; }
.sw-cta-k { display:block; font-size:.68rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:.5rem; }
.sw-cta h4 { font-size:1.3rem; font-weight:700; letter-spacing:-.015em; margin:0 0 .65rem; color:#fff; }
.sw-cta > p { font-size:.88rem; line-height:1.65; color:rgba(255,255,255,.78); margin:0 0 1.5rem; }
.sw-cta ul { list-style:none; margin:0 0 1.5rem; padding:0 0 4px;
             background-image:radial-gradient(circle, rgba(255,255,255,.4) 1.1px, rgba(0,0,0,0) 1.2px); background-size:10px 4px; background-repeat:repeat-x; background-position:left bottom; }
.sw-cta li { padding-top:4px;
             background-image:radial-gradient(circle, rgba(255,255,255,.4) 1.1px, rgba(0,0,0,0) 1.2px); background-size:10px 4px; background-repeat:repeat-x; background-position:left top; }
.sw-cta .line { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:.7rem 0; color:#fff; text-decoration:none; font-size:.9rem; }
.sw-cta .line:hover { color:#fff; opacity:.8; }
.sw-cta .line .l { font-size:.66rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.6); flex:none; }
.sw-btn { display:block; background:#D81E2C; color:#fff; text-align:center; padding:.9rem; text-decoration:none; font-weight:700; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; }
.sw-btn:hover { background:#c0281e; color:#fff; }

/* align dotted rules across the 3-column grid (Swiss baseline) */
@media (min-width: 768px) {
  .sw-cols-3 .sw-list li { min-height:4.15rem; }
}
@media (max-width: 991.98px) {
  .sw-cta { position:static; }
}
@media (max-width: 767.98px) {
  .sw-cols-2, .sw-cols-3 { grid-template-columns:1fr; gap:1.75rem; }
  .sw-use-grid { grid-template-columns:repeat(2,1fr); gap:1rem 0; }
  .sw-use-grid div:nth-child(2n) { background-image:none; padding-right:0; }
  .sw-use-grid div:nth-child(2n+1) { padding-left:0; }
  .sw-sec-head { grid-template-columns:2.3rem 110px 1fr; gap:0 1.1rem; } /* 1fr: .sw-sec-body (grid-column 1/-1) dostane celú šírku */
  .sw-sec-num { font-size:1.7rem; }
  .sw-figwrap { width:110px; }
  .sw-fig { width:110px; height:110px; }
  .sw-sec-body { grid-column:1 / -1; margin-top:1.25rem; }
  .sw-sec-num { font-size:1.6rem; }
  .sw-sec-title { font-size:1.35rem; }
  .sw-ix-d { display:none; }
}

/* ── blokový nadpis + definičná tabuľka (kontakt) ─────────────── */
.sw-h { border-top:2px solid #16243A; padding-top:1.15rem; margin:0 0 1.6rem; }
.sw-h h2 { font-size:1.5rem; font-weight:700; letter-spacing:-.02em; color:#16243A; margin:0; line-height:1.15; }
.sw-dl { margin:0; }
.sw-dl > div { display:flex; justify-content:space-between; align-items:baseline; gap:1.5rem; padding:.8rem 0;
               background-image:radial-gradient(circle, #AEC0D6 1.1px, rgba(0,0,0,0) 1.2px); background-size:10px 4px; background-repeat:repeat-x; background-position:left bottom; }
.sw-dl dt { flex:none; margin:0; padding-top:.15rem; font-size:.66rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#8798AE; }
.sw-dl dd { margin:0; font-size:.92rem; line-height:1.65; color:#16243A; text-align:right; }
.sw-dl dd a, .sw-note p a { color:#0E4DA4; text-decoration:none; }
.sw-dl dd a:hover, .sw-note p a:hover { color:#D81E2C; }
.sw-note p a { font-weight:600; }

/* ── číslovaný zoznam s dvojriadkovým popisom ──────────────────────── */
.sw-rows { border-top:2px solid #16243A; }
.sw-rows > * { display:grid; grid-template-columns:2.6rem 1fr; gap:0 1rem; padding:.95rem 0; text-decoration:none; color:#16243A;
               background-image:radial-gradient(circle, #AEC0D6 1.1px, rgba(0,0,0,0) 1.2px); background-size:10px 4px; background-repeat:repeat-x; background-position:left bottom; }
.sw-rows .n { font-size:.72rem; font-weight:700; letter-spacing:.12em; color:#0E4DA4; padding-top:.22rem; }
.sw-rows .t { font-size:.98rem; font-weight:700; letter-spacing:-.01em; margin:0 0 .2rem; color:#16243A; }
.sw-rows .d { font-size:.85rem; line-height:1.55; color:#5A6B82; margin:0; }
.sw-rows a:hover .t { color:#0E4DA4; }
.sw-rows a:hover .n { color:#D81E2C; }

/* riadky v mriežke 2×2 — .sw-rows.sw-rows-2, na mobile jeden stĺpec */
.sw-rows-2 { display:grid; grid-template-columns:1fr 1fr; gap:0 2.5rem; }
@media (max-width: 767.98px) { .sw-rows-2 { grid-template-columns:1fr; } }

/* riadky s fajkou — .sw-rows.sw-rows-check, väčšia fajka tesne pri nadpise */
.sw-rows-check > * { grid-template-columns:1.3rem 1fr; gap:0 .5rem; }
.sw-rows-check .n { font-size:1.25rem; line-height:1.2; padding-top:0; letter-spacing:0; }

/* riadky s obrázkom — .sw-rows.sw-rows-img, obrázok = .sw-figwrap > .sw-fig(-b|-p), bez figcaption */
.sw-rows-img > a { grid-template-columns:2.6rem 110px 1fr; align-items:start; }
.sw-rows-img .sw-figwrap { display:block; width:110px; }
.sw-rows-img .sw-fig { width:110px; height:110px; }
.sw-rows-img a:hover .sw-fig { transform:scale(1.12); z-index:5; cursor:pointer; } /* 110px×1.12 = +13px < .95rem padding — neprekryje ďalší riadok */
.sw-rows-img a:hover .sw-fig img { filter:grayscale(0) contrast(1); }
.sw-rows-img a:hover .sw-fig-p img { mix-blend-mode:normal; }
.sw-rows-img a:hover .sw-fig::after { opacity:0; }
.sw-rows > a:hover, .sw-rows > a:hover * { text-decoration:none; }
.sw-rows-img .n { text-align:right; margin-right:-.6rem; } /* číslo tesne pri obrázku; pri hoveri ho obrázok môže prekryť */
@media (max-width: 767.98px) {
  .sw-rows-img > a { grid-template-columns:2rem 80px 1fr; gap:0 .8rem; }
  .sw-rows-img .sw-figwrap { width:80px; }
  .sw-rows-img .sw-fig { width:80px; height:80px; }
}

/* ── pás partnerov ─────────────────────────────────────────────────── */
.sw-partners p { font-size:.9rem; line-height:2; color:#16243A; margin:0 0 1.4rem; }
.sw-partners p:last-child { margin-bottom:0; }
.sw-partners .sw-use-h { margin-bottom:.6rem; }
.sw-partners .sw-use-h ~ .sw-use-h { border-top:2px solid #16243A; padding-top:1.15rem; margin-top:1.8rem; } /* čiara aj nad druhým zoznamom */

/* ── vizuálna karta so skutočnou fotkou (Domov 3) ──────────────────── */
.sw-pcard { display:block; text-decoration:none; color:#16243A; height:100%; border:1px solid #16243A; }
.sw-pcard .ph { position:relative; height:150px; overflow:hidden; background:#E5EBF5; }
.sw-pcard .ph img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.sw-pcard:hover .ph img { transform:scale(1.06); }
.sw-pcard .ph .n { position:absolute; left:0; top:0; background:#D81E2C; color:#fff; font-weight:700; font-size:.85rem;
                    padding:.35rem .65rem; letter-spacing:.04em; }
.sw-pcard .body { padding:1.1rem 1.2rem 1.3rem; }
.sw-pcard .t { display:block; font-size:1.02rem; font-weight:700; letter-spacing:-.01em; margin-bottom:.4rem; color:#16243A; }
.sw-pcard .d { font-size:.85rem; line-height:1.55; color:#5A6B82; margin:0 0 .9rem; }
.sw-pcard .more { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#0E4DA4;
                   border-bottom:1px dotted #0E4DA4; padding-bottom:.15rem; }
.sw-pcard:hover .more { color:#D81E2C; border-color:#D81E2C; }

/* ── 2×2 dôvody s deliacimi bodkovanými čiarami ────────────────────── */
.sw-why { display:grid; grid-template-columns:1fr 1fr; border-top:2px solid #16243A; }
.sw-why > div { padding:1.5rem 1.75rem 1.5rem 0; }
.sw-why > div:nth-child(2n) { padding-left:1.75rem; padding-right:0;
  background-image:radial-gradient(circle, #AEC0D6 1.1px, rgba(0,0,0,0) 1.2px); background-size:4px 10px; background-repeat:repeat-y; background-position:left top; }
.sw-why > div:nth-child(n+3) {
  background-image:radial-gradient(circle, #AEC0D6 1.1px, rgba(0,0,0,0) 1.2px), radial-gradient(circle, #AEC0D6 1.1px, rgba(0,0,0,0) 1.2px);
  background-size:10px 4px, 4px 10px; background-repeat:repeat-x, repeat-y; background-position:left top, left top;
}
.sw-why > div:nth-child(3) { background-image:radial-gradient(circle, #AEC0D6 1.1px, rgba(0,0,0,0) 1.2px); background-size:10px 4px; background-repeat:repeat-x; background-position:left top; }
.sw-why .n { color:#D81E2C; font-weight:700; font-size:1.1rem; margin-right:.5rem; }
.sw-why .t { font-weight:700; color:#16243A; font-size:1rem; }
.sw-why .d { font-size:.85rem; line-height:1.6; color:#5A6B82; margin:.35rem 0 0 1.6rem; }

/* ── partnerská lišta s logami (hairline, bez farebného pozadia) ──── */
.sw-logostrip { border-top:2px solid #16243A; border-bottom:1px solid #E2E8F2; padding:1.5rem 0; }
.sw-logostrip img { height:22px; width:auto; filter:grayscale(100%); opacity:.5; }

/* ── dramatickejšie hero + statistiky (Domov 4) ────────────────────── */
.sw-stats { display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid #16243A; border-bottom:2px solid #16243A; }
.sw-stats > div { padding:1.5rem 1.5rem; text-align:center; }
.sw-stats > div:not(:last-child) {
  background-image:radial-gradient(circle, #AEC0D6 1.1px, rgba(0,0,0,0) 1.2px); background-size:4px 10px; background-repeat:repeat-y; background-position:right top;
}
.sw-stats .v { display:block; font-size:2.3rem; font-weight:800; color:#D81E2C; letter-spacing:-.03em; line-height:1; }
.sw-stats .l { display:block; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#5A6B82; margin-top:.5rem; }

@media (max-width: 767.98px) {
  .sw-why { grid-template-columns:1fr; }
  .sw-why > div, .sw-why > div:nth-child(2n) { padding:1.25rem 0;
    background-image:radial-gradient(circle, #AEC0D6 1.1px, rgba(0,0,0,0) 1.2px) !important; background-size:10px 4px !important; background-repeat:repeat-x !important; background-position:left top !important; }
  .sw-why > div:first-child { background-image:none !important; }
  .sw-stats { grid-template-columns:1fr; }
  .sw-stats > div { background-image:none !important; padding:1.1rem 0;
    background-image:radial-gradient(circle, #AEC0D6 1.1px, rgba(0,0,0,0) 1.2px) !important; background-size:10px 4px !important; background-repeat:repeat-x !important; background-position:left top !important; }
  .sw-stats > div:first-child { background-image:none !important; }
}

/* tmavý pás čísel — .sw-stats.sw-stats-dark, farba footera, biele texty */
.sw-stats-dark { background:#0A3463; border-color:#0A3463; padding-inline:max(16px, calc((100% - 890px) / 2)); } /* obsah v šírke kontajnera, pozadie cez celú šírku */
.sw-stats-dark .v, .sw-stats-dark .l { color:#fff; }
.sw-stats-dark > div:not(:last-child) { background-image:radial-gradient(circle, rgba(255,255,255,.35) 1.1px, rgba(0,0,0,0) 1.2px); }
@media (max-width: 767.98px) {
  .sw-stats-dark > div { background-image:radial-gradient(circle, rgba(255,255,255,.35) 1.1px, rgba(0,0,0,0) 1.2px) !important; }
  .sw-stats-dark > div:first-child { background-image:none !important; }
}

/* biele tlačidlo s červeným textom — .sw-btn.sw-btn-w */
.sw-btn-w { background:#fff; color:#D81E2C; }
.sw-btn-w:hover { background:#F2F5FA; color:#c0281e; }
/* modré tlačidlo — .sw-btn.sw-btn-b */
.sw-btn-b { background:#0E4DA4; color:#fff; }
.sw-btn-b:hover { background:#0A3463; color:#fff; }

/* sekcia bez obrázka — .sw-sec-head.sw-sec-head-nofig */
.sw-sec-head-nofig { grid-template-columns:auto 1fr; }

/* galéria ukážok — .sw-gallery, dlaždice .sw-fig na celú šírku bunky, bez zväčšenia (len farba) */
.sw-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem 1.25rem; }
.sw-gallery .sw-figwrap { width:auto; }
.sw-gallery .sw-fig { width:100%; height:160px; }
.sw-gallery .sw-figwrap:hover .sw-fig { transform:none; }
.sw-gallery figcaption { color:#16243A; transition:color .3s ease; }
.sw-gallery .sw-figwrap:hover figcaption { color:#0E4DA4; }

/* sidebar — číslované kroky, drobný text, viac tlačidiel pod sebou */
.sw-cta ol li { background-image:none; padding-top:0; margin-bottom:.6rem; } /* malé riadkovanie v zalomenej položke, väčšia medzera medzi položkami */
.sw-cta ol { margin:0 0 1.5rem; padding-left:1.2rem; font-size:.92rem; line-height:1.35; color:rgba(255,255,255,.9); }
.sw-cta-sub { font-size:.8rem; line-height:1.55; color:rgba(255,255,255,.7); margin:0 0 .8rem; }
.sw-cta .sw-btn + .sw-btn { margin-top:.5rem; }
.sw-cta .sw-btn i { margin-right:.5rem; }

@media (max-width: 767.98px) {
  .sw-sec-head-nofig { grid-template-columns:2.3rem 1fr; }
  .sw-sec-head-nofig .sw-sec-body { grid-column:auto; margin-top:0; }
  .sw-gallery { grid-template-columns:repeat(2,1fr); }
}

/* pás s pozadím cez celú šírku — .sw-band; mapa Žiliny — .sw-band-map (OpenStreetMap, credit povinný) */
.sw-band { padding:3.5rem 0 1.25rem; }
.sw-band-map { position:relative; isolation:isolate; }
/* zilina_map_color.jpg = zilina_map.jpg so zosilnenými farbami (x10) a 35 % modrého duotónu */
.sw-band-map::before { content:""; position:absolute; inset:0; z-index:-1;
               background:url(../img/zilina_map_color.jpg) left top / cover no-repeat; }
.sw-band-credit { text-align:right; font-size:.7rem; color:#5A6B82; margin:1.5rem 0 0; }

/* mapa cez celú šírku (Google Maps embed) — .sw-map > iframe */
.sw-map { border-top:2px solid #16243A; }
.sw-map iframe { display:block; width:100%; height:420px; border:0; }
@media (max-width: 767.98px) { .sw-map iframe { height:320px; } }
/* položky na mape — biele, jemne priehľadné */
.sw-band-map .sw-rows { row-gap:.75rem; padding-top:.75rem; }
.sw-band-map .sw-rows > * { background-color:rgba(255,255,255,.82); background-image:none; padding:1rem 1.1rem; }
.sw-band-map .sw-band-credit { color:#16243A; }

/* užší obsahový kontajner na celom webe (Bootstrap xxl má 1320px) */
@media (min-width: 992px) { .container { max-width:920px; } } /* šírka obsahu ako pás „Nezáväzne" na titulke (~890px) */

/* pás lôg partnerov — na desktope roztiahnutý na šírku kontajnera, na mobile centrovaný a zalomený */
.sw-logos { display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:1rem; }
.sw-logos img { flex:none; }
@media (max-width: 991.98px) { .sw-logos { flex-wrap:wrap; justify-content:center; gap:1.4rem; } }

/* hlavné menu — krátka červená čiarka pred položkou, aktívna = väčší červený štvorček */
#top_menu > li.nav-item > a.nav-link span::before { width:12px; height:2px; margin-right:.55rem; border-radius:1px; background:#D81E2C; vertical-align:.3em; transition:background-color .2s ease, width .2s ease; }
#top_menu > li.nav-item > a.nav-link:hover span::before { background:#D81E2C; } /* hover = červená čiarka */
#top_menu > li.nav-item > a.nav-link.active span::before { background:#D81E2C; width:12px; height:12px; border-radius:2px; vertical-align:-.05em; } /* aktívna = červený štvorček */

/* tlačidlá — minimálny radius (okrem okrúhleho „hore" v pätičke) */
.sw-btn, .btn_cta, .btn-primary:not(.rounded-circle) { border-radius:3px !important; }

/* podnadpis v hero — text medzi dvoma bielymi linkami: ——— ŽILINSKÝ KRAJ · OD ROKU 1999 ——— */
.sw-hero-kicker { display:flex; align-items:center; gap:.9rem; margin:0 0 1.5rem; font-size:.72rem; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:rgba(255,255,255,.85); }
/* nadpis + podnadpis v spoločnom inline-block bloku → šírka = najdlhší riadok nadpisu, linky vyplnia zvyšok */
.sw-hero-title { display:inline-block; max-width:100%; }
.sw-hero-kicker::before, .sw-hero-kicker::after { content:""; flex:1 1 24px; min-width:24px; height:2px; border-radius:1px; background:rgba(255,255,255,.85); }
@media (max-width: 767.98px) {
  .sw-hero-kicker { letter-spacing:.14em; gap:.6rem; white-space:nowrap; }
}

/* logo partnera vpravo hore v hero (Nové výťahy — Lift Components), na bielej ploche kvôli tmavému pozadiu */
.sw-hero-partner { position:absolute; top:0; right:1rem; background:#fff; padding:.55rem .8rem; border-radius:3px; line-height:0; }
.sw-hero-partner img { height:46px; width:auto; }
@media (max-width: 767.98px) { .sw-hero-partner { padding:.35rem .5rem; } .sw-hero-partner img { height:28px; } }

/* pás malých fotiek na spodku hero (Domový technik) — medzera medzi fotkami = odstup od spodku, pomaly beží sprava doľava */
.sw-hero-strip { --g:10px; --h:78px; --w:118px; position:absolute; left:0; right:0; bottom:var(--g); overflow:hidden; }
.sw-hero-track { display:flex; gap:var(--g); width:max-content; animation:sw-strip-run 70s linear infinite; }
.sw-hero-track img { display:block; flex:none; width:var(--w); height:var(--h); object-fit:cover; border-radius:2px; border:3px solid rgba(255,255,255,.85); box-sizing:border-box; filter:grayscale(.35); opacity:.92; transition:filter .3s ease, opacity .3s ease; }
.sw-hero-track img:hover { filter:none; opacity:1; }
.sw-hero-strip:hover .sw-hero-track { animation-play-state:paused; }
@keyframes sw-strip-run { from { transform:translateX(0); } to { transform:translateX(calc(-50% - var(--g) / 2)); } }
.sw-hero-with-strip { padding-bottom:calc(2.75rem + 78px + 20px) !important; }
@media (max-width: 767.98px) { .sw-hero-strip { --g:8px; --h:48px; --w:72px; } .sw-hero-with-strip { padding-bottom:calc(2.25rem + 48px + 16px) !important; } }

/* bočný panel — štítok a hodnota pod sebou (v úzkom stĺpci vedľa seba pôsobili stiesnene) */
.sw-cta .line { flex-direction:column; align-items:flex-start; gap:.2rem; }

/* telefón vpravo hore v hlavičke — bez tlačidla, len červený text s ikonou */
.btn_cta, .btn_cta:hover, .btn_cta:focus, .btn_cta:active { background:transparent !important; border-color:transparent !important; box-shadow:none !important; color:#D81E2C !important; padding-left:0 !important; padding-right:0 !important; font-weight:700; }
.btn_cta:hover { color:#A8141F !important; }

/* pozadie hero na titulke — pomaly sa posúva zľava doprava a späť (scale 1.1 = rezerva, aby nevykukol okraj) */
.sw-hero-pan { animation:sw-hero-pan 32s ease-in-out infinite alternate; will-change:transform; }
@keyframes sw-hero-pan { from { transform:scale(1.1) translateX(-4%); } to { transform:scale(1.1) translateX(4%); } }
/* mobil: Odoo tam vypína transform na <img> (!important), preto sa posúva výrez fotky */
@keyframes sw-hero-pan-pos { from { object-position:40% 50%; } to { object-position:60% 50%; } }
@media (max-width: 767.98px) { .sw-hero-pan { animation-name:sw-hero-pan-pos; } }

/* (zatiaľ len titulka, .sw-home) blokový nadpis s kickerom — poradie: nadpis, linka, kicker (namiesto linka, kicker, nadpis) */
.sw-home .sw-h:has(> h2):has(> .sw-sec-kicker) { display:flex; flex-direction:column; border-top:0; padding-top:0; }
.sw-home .sw-h:has(> h2):has(> .sw-sec-kicker) > h2 { order:1; }
.sw-home .sw-h:has(> h2):has(> .sw-sec-kicker) > .sw-sec-kicker { order:2; margin:.75rem 0 0; padding-top:.65rem; border-top:2px solid #16243A; }
.sw-home .sw-h:has(> h2):has(> .sw-sec-kicker) + .sw-rows { border-top:0; } /* bez čiary pod kickerom */
.sw-home .sw-band .sw-h:has(> h2):has(> .sw-sec-kicker) > .sw-sec-kicker { border-top:0; padding-top:0; margin-top:.4rem; } /* „Prečo ELPAS" na mape — bez čiary medzi nadpisom a kickerom */
