/* KlampiarskeVýrobky.sk – výkresový list a katalóg profilov */
@font-face { font-family: "KV Display"; font-weight: 500; font-display: swap; src: url("/pismo/kv-display-500-l.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "KV Display"; font-weight: 500; font-display: swap; src: url("/pismo/kv-display-500-le.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "KV Display"; font-weight: 700; font-display: swap; src: url("/pismo/kv-display-700-l.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "KV Display"; font-weight: 700; font-display: swap; src: url("/pismo/kv-display-700-le.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "KV Text"; font-weight: 400; font-display: swap; src: url("/pismo/kv-text-400-l.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "KV Text"; font-weight: 400; font-display: swap; src: url("/pismo/kv-text-400-le.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "KV Text"; font-weight: 400; font-style: italic; font-display: swap; src: url("/pismo/kv-text-400i-l.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "KV Text"; font-weight: 400; font-style: italic; font-display: swap; src: url("/pismo/kv-text-400i-le.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "KV Text"; font-weight: 500; font-display: swap; src: url("/pismo/kv-text-500-l.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "KV Text"; font-weight: 500; font-display: swap; src: url("/pismo/kv-text-500-le.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "KV Text"; font-weight: 700; font-display: swap; src: url("/pismo/kv-text-700-l.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "KV Text"; font-weight: 700; font-display: swap; src: url("/pismo/kv-text-700-le.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --kv-papier: #ffffff;
  --kv-plocha: #f2f4f5;
  --kv-plocha-2: #e6eaec;
  --kv-tus: #1e2326;
  --kv-tus-2: #444d53;
  --kv-tus-3: #5f696f;
  --kv-linka: #cdd3d7;
  --kv-linka-2: #9aa3a9;
  --kv-zinok: #3d5c6b;
  --kv-zinok-2: #dbe5e9;
  --kv-ok: #24572f;
  --kv-pozor: #7a4b00;
  --kv-zle: #8a1f1f;
  --kv-sirka: 1240px;
  --kv-okraj: 16px;
  --kv-pismo: "KV Text", "Segoe UI", system-ui, sans-serif;
  --kv-nadpis: "KV Display", "KV Text", "Segoe UI", system-ui, sans-serif;
}
@media (min-width: 720px) { :root { --kv-okraj: 32px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body.kv-body { margin: 0; background: var(--kv-papier); color: var(--kv-tus); font: 400 1.0625rem/1.62 var(--kv-pismo); font-kerning: normal; overflow-wrap: break-word; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--kv-zinok); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { color: var(--kv-tus); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--kv-zinok); outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--kv-nadpis); font-weight: 700; line-height: 1.15; letter-spacing: -0.012em; color: var(--kv-tus); }
h1 { font-size: clamp(2rem, 1.4rem + 2.6vw, 3.3rem); margin: 0.2em 0 0.35em; }
h2 { font-size: clamp(1.45rem, 1.2rem + 1vw, 1.95rem); margin: 2.2em 0 0.6em; }
h3 { font-size: 1.22rem; margin: 1.8em 0 0.5em; }
p, ul, ol, dl { margin: 0 0 1em; }
small { font-size: 0.86em; }
.kv-skok { position: absolute; left: -9999px; top: 0; background: var(--kv-tus); color: #fff; padding: 10px 14px; z-index: 10; }
.kv-skok:focus { left: 8px; top: 8px; }
.kv-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- hlavička ---------- */
.kv-hlav { border-bottom: 1px solid var(--kv-tus); background: var(--kv-papier); }
.kv-hlav-in { max-width: var(--kv-sirka); margin: 0 auto; padding: 14px var(--kv-okraj); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.kv-logo { display: flex; align-items: center; gap: 12px; color: var(--kv-tus); text-decoration: none; min-width: 0; }
.kv-logo:hover { color: var(--kv-tus); }
.kv-logo-z { width: 42px; height: 42px; flex: none; }
.kv-logo-t { display: flex; flex-direction: column; min-width: 0; }
.kv-logo-n { font: 500 1.24rem/1.1 var(--kv-nadpis); letter-spacing: -0.01em; }
.kv-logo-n b { font-weight: 700; }
.kv-logo-p { font-size: 0.8rem; color: var(--kv-tus-3); line-height: 1.3; margin-top: 3px; }
.kv-hlav-dopyt { flex: none; display: inline-block; background: var(--kv-tus); color: #fff; text-decoration: none; font-weight: 700; padding: 11px 16px; border: 1px solid var(--kv-tus); }
.kv-hlav-dopyt:hover { background: var(--kv-zinok); color: #fff; }
.kv-hlav-kr { display: none; }
@media (max-width: 719px) { .kv-hlav-dl { display: none; } .kv-hlav-kr { display: inline; } .kv-hlav-dopyt { padding: 9px 12px; } }
@media (max-width: 519px) { .kv-logo-p { display: none; } .kv-logo-n { font-size: 1.12rem; } }

.kv-nav { max-width: var(--kv-sirka); margin: 0 auto; padding: 0 var(--kv-okraj); }
.kv-nav-prepinac { display: none; }
.kv-nav-zoznam { list-style: none; margin: 0; padding: 0; display: flex; border-left: 1px solid var(--kv-linka); }
.kv-nav-zoznam li { flex: 1 1 auto; border-right: 1px solid var(--kv-linka); }
.kv-nav-zoznam a { display: block; padding: 12px 14px; color: var(--kv-tus); text-decoration: none; font-weight: 500; font-size: 0.97rem; line-height: 1.25; text-align: center; }
.kv-nav-zoznam a:hover { background: var(--kv-plocha); }
.kv-nav-zoznam a[aria-current] { font-weight: 700; box-shadow: inset 0 -4px 0 var(--kv-zinok); }
.kv-nav-zoznam a[aria-current]::before { content: "▸ "; font-size: 0.8em; }
.kv-nav-cta a { background: var(--kv-zinok-2); }
@media (max-width: 1099px) {
  .kv-nav { padding: 0; }
  .kv-nav-prepinac { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; padding: 12px var(--kv-okraj); background: var(--kv-plocha); border: 0; border-top: 1px solid var(--kv-linka); font: 700 1rem/1.2 var(--kv-pismo); color: var(--kv-tus); cursor: pointer; min-height: 48px; }
  .kv-nav-prepinac svg { width: 16px; height: 16px; transition: transform .15s; }
  .kv-nav-prepinac[aria-expanded="true"] svg { transform: rotate(180deg); }
  .kv-nav-zoznam { display: grid; grid-template-columns: 1fr 1fr; border-left: 0; border-top: 1px solid var(--kv-linka); }
  .kv-nav[data-js] .kv-nav-zoznam { display: none; }
  .kv-nav[data-js].kv-otvorene .kv-nav-zoznam { display: grid; }
  .kv-nav-zoznam li { border-right: 1px solid var(--kv-linka); border-bottom: 1px solid var(--kv-linka); }
  .kv-nav-zoznam li:nth-child(2n) { border-right: 0; }
  .kv-nav-zoznam a { text-align: left; padding: 13px var(--kv-okraj); min-height: 48px; }
  .kv-nav-cta { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* ---------- spoločné bloky ---------- */
.kv-main { display: block; }
.kv-obal { max-width: var(--kv-sirka); margin: 0 auto; padding: 0 var(--kv-okraj); }
.kv-tlacidla { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.4em 0 0; }
.kv-tlacidlo, .kv-tlacidlo-obrys { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 20px; font: 700 1rem/1.2 var(--kv-pismo); text-decoration: none; border: 1.5px solid var(--kv-tus); cursor: pointer; }
.kv-tlacidlo { background: var(--kv-tus); color: #fff; }
.kv-tlacidlo:hover { background: var(--kv-zinok); border-color: var(--kv-zinok); color: #fff; }
.kv-tlacidlo-obrys { background: transparent; color: var(--kv-tus); }
.kv-tlacidlo-obrys:hover { background: var(--kv-plocha); color: var(--kv-tus); }
.kv-sipka::after { content: "→"; }

/* výkresová hlavička (title block) */
.kv-tb { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 0; border-top: 1px solid var(--kv-tus); border-left: 1px solid var(--kv-tus); }
.kv-tb > div { border-right: 1px solid var(--kv-tus); border-bottom: 1px solid var(--kv-tus); padding: 7px 10px 8px; min-width: 0; }
.kv-tb dt { font-size: 0.76rem; color: var(--kv-tus-3); line-height: 1.2; }
.kv-tb dd { margin: 2px 0 0; font-size: 0.94rem; font-weight: 500; line-height: 1.3; }
.kv-tb-list { margin-top: 1.4em; max-width: 860px; }

/* ---------- list (podstránka) ---------- */
.kv-list-hlava { max-width: var(--kv-sirka); margin: 0 auto; padding: 22px var(--kv-okraj) 8px; }
.kv-drobky ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px 0; font-size: 0.9rem; color: var(--kv-tus-3); }
.kv-drobky li + li::before { content: "/"; margin: 0 8px; color: var(--kv-linka-2); }
.kv-drobky a { color: var(--kv-tus-2); }
.kv-perex { font-size: clamp(1.08rem, 1rem + 0.4vw, 1.25rem); line-height: 1.55; color: var(--kv-tus-2); max-width: 66ch; margin: 0; }
.kv-list-telo { max-width: var(--kv-sirka); margin: 0 auto; padding: 8px var(--kv-okraj) 56px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 48px; }
@media (min-width: 1100px) {
  .kv-s-obsahom { grid-template-columns: 230px minmax(0, 1fr); }
  .kv-obsah { position: sticky; top: 16px; align-self: start; max-height: calc(100vh - 32px); overflow: auto; }
}
.kv-obsah { border-top: 2px solid var(--kv-tus); padding-top: 10px; margin: 24px 0 8px; font-size: 0.92rem; }
.kv-obsah-h { font-weight: 700; margin: 0 0 6px; }
.kv-obsah ul { list-style: none; margin: 0; padding: 0; }
.kv-obsah li { border-bottom: 1px solid var(--kv-linka); }
.kv-obsah a { display: block; padding: 7px 0; color: var(--kv-tus-2); text-decoration: none; line-height: 1.3; }
.kv-obsah a:hover { color: var(--kv-zinok); text-decoration: underline; }
.kv-text { min-width: 0; max-width: 820px; }
.kv-text > p, .kv-text > ul, .kv-text > ol { max-width: 70ch; }
.kv-text li { margin-bottom: 0.35em; }
.kv-text h2 { padding-top: 14px; border-top: 1px solid var(--kv-linka); }
.kv-text > h2:first-child { margin-top: 1.2em; }
.kv-tab-obal { overflow-x: auto; margin: 1.2em 0 1.6em; border: 1px solid var(--kv-linka); }
.kv-text table, .kv-tab { border-collapse: collapse; width: 100%; font-size: 0.95rem; line-height: 1.45; }
.kv-text th, .kv-text td, .kv-tab th, .kv-tab td { text-align: left; vertical-align: top; padding: 9px 12px; border-bottom: 1px solid var(--kv-linka); border-right: 1px solid var(--kv-linka); }
.kv-text th:last-child, .kv-text td:last-child, .kv-tab th:last-child, .kv-tab td:last-child { border-right: 0; }
.kv-text tbody tr:last-child td, .kv-tab tbody tr:last-child td { border-bottom: 0; }
.kv-text thead th, .kv-tab thead th { background: var(--kv-plocha); font-weight: 700; border-bottom: 1px solid var(--kv-tus); }
.kv-cislo { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.kv-poznamka { border-left: 4px solid var(--kv-zinok); background: var(--kv-plocha); padding: 12px 16px; margin: 1.4em 0; max-width: 70ch; }
.kv-poznamka > :last-child { margin-bottom: 0; }
.kv-poznamka-h { font-weight: 700; margin: 0 0 4px; }
.kv-cena { border: 1px solid var(--kv-tus); margin: 1.4em 0; }
.kv-cena-h { background: var(--kv-tus); color: #fff; margin: 0; padding: 8px 14px; font-weight: 700; }
.kv-cena-b { padding: 12px 14px 4px; }
.kv-cena-b > :last-child { margin-bottom: 8px; }
.kv-zoznam-kontrol { list-style: none; padding: 0; }
.kv-zoznam-kontrol li { position: relative; padding-left: 30px; margin-bottom: 0.55em; }
.kv-zoznam-kontrol li::before { content: ""; position: absolute; left: 0; top: 0.3em; width: 16px; height: 16px; border: 1.5px solid var(--kv-tus); }
.kv-faq dl { margin: 0; border-top: 1px solid var(--kv-tus); }
.kv-faq-p { border-bottom: 1px solid var(--kv-linka); padding: 12px 0; }
.kv-faq dt { font-weight: 700; margin-bottom: 4px; }
.kv-faq dd { margin: 0; max-width: 70ch; }
.kv-pripravujeme { border: 1px dashed var(--kv-linka-2); padding: 12px 16px; margin: 1.4em 0; }
.kv-pripravujeme > :last-child { margin-bottom: 0; }
.kv-dalej { list-style: none; padding: 0; border-top: 1px solid var(--kv-tus); max-width: none !important; }
.kv-dalej li { border-bottom: 1px solid var(--kv-linka); margin: 0; }
.kv-dalej a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 11px 0; text-decoration: none; color: var(--kv-tus); }
.kv-dalej a::after { content: "→"; color: var(--kv-zinok); }
.kv-dalej a:hover { background: var(--kv-plocha); }
.kv-dalej span { display: block; color: var(--kv-tus-3); font-size: 0.92rem; }

/* ---------- výkres ---------- */
.kv-vykres { margin: 1.8em 0 2em; border: 1.5px solid var(--kv-tus); background: var(--kv-papier); }
.kv-vykres-plocha { padding: 12px; background-image: linear-gradient(var(--kv-plocha) 1px, transparent 1px), linear-gradient(90deg, var(--kv-plocha) 1px, transparent 1px); background-size: 24px 24px; background-position: -1px -1px; }
.kv-vykres svg { display: block; width: 100%; height: auto; }
.kv-vykres .kv-tb { border-left: 0; border-top: 1.5px solid var(--kv-tus); grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
.kv-vykres .kv-tb > div:last-child { border-right: 0; }
.kv-vykres .kv-tb > div { border-bottom: 0; border-top: 0; }
.kv-legenda { margin: 0; padding: 10px 14px 12px 14px; border-top: 1px solid var(--kv-tus); font-size: 0.92rem; columns: 2 260px; column-gap: 28px; }
.kv-legenda li { break-inside: avoid; margin: 0 0 4px 20px; padding-left: 4px; }
.kv-legenda li::marker { font-weight: 700; }
.kv-vykres-slot { border-top: 1px dashed var(--kv-linka-2); padding: 8px 14px; font-size: 0.85rem; color: var(--kv-tus-3); margin: 0; }
/* kreslené prvky */
.kv-dw-k { fill: none; stroke: var(--kv-tus); stroke-width: 1.4; }
.kv-dw-t { fill: none; stroke: var(--kv-tus); stroke-width: 0.8; }
.kv-dw-p { fill: none; stroke: var(--kv-zinok); stroke-width: 3.2; stroke-linejoin: miter; stroke-linecap: square; }
.kv-dw-f { fill: none; stroke: var(--kv-tus); stroke-width: 1.2; stroke-dasharray: 7 3 1.5 3; }
.kv-dw-o { fill: none; stroke: var(--kv-tus-3); stroke-width: 0.8; stroke-dasharray: 4 3; }
.kv-dw-kota { fill: none; stroke: var(--kv-tus-2); stroke-width: 0.8; }
.kv-dw-txt { font: 500 15px var(--kv-pismo); fill: var(--kv-tus); }
.kv-dw-txt-m { font: 400 14px var(--kv-pismo); fill: var(--kv-tus-2); }
.kv-dw-kotatxt { font: 600 15px var(--kv-pismo); fill: var(--kv-tus); }
.kv-dw-poz circle { fill: var(--kv-papier); stroke: var(--kv-tus); stroke-width: 1.1; }
.kv-dw-poz text { font: 700 13px var(--kv-pismo); fill: var(--kv-tus); text-anchor: middle; dominant-baseline: central; }
.kv-dw-voda { fill: none; stroke: var(--kv-tus-2); stroke-width: 1; stroke-dasharray: 2 3; }

/* ---------- technické podklady (kusovník) ---------- */
.kv-kus { background: var(--kv-plocha); border-top: 2px solid var(--kv-tus); }
.kv-kus-in { max-width: var(--kv-sirka); margin: 0 auto; padding: 28px var(--kv-okraj) 40px; }
.kv-kus h2 { margin: 0 0 6px; font-size: 1.4rem; }
.kv-kus-pozn { color: var(--kv-tus-2); font-size: 0.95rem; max-width: 80ch; }
.kv-kus .kv-tab-obal { background: var(--kv-papier); border-color: var(--kv-tus); }
.kv-kus-tab { border-collapse: collapse; width: 100%; font-size: 0.9rem; line-height: 1.4; }
.kv-kus-tab th, .kv-kus-tab td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--kv-linka); border-right: 1px solid var(--kv-linka); }
.kv-kus-tab th { background: var(--kv-plocha-2); border-bottom: 1px solid var(--kv-tus); }
.kv-kus-tab th:last-child, .kv-kus-tab td:last-child { border-right: 0; }
.kv-kus-pol { font-weight: 700; font-variant-numeric: tabular-nums; width: 3.2em; }
.kv-kus-tab td:nth-child(4), .kv-kus-tab td:nth-child(5) { white-space: nowrap; }
.kv-tb-kus { background: var(--kv-papier); margin-top: 16px; max-width: 900px; }
@media (max-width: 719px) {
  .kv-kus-tab thead { display: none; }
  .kv-kus-tab tr { display: block; border-bottom: 1px solid var(--kv-tus); padding: 6px 0; }
  .kv-kus-tab td { display: block; border: 0; padding: 2px 10px; white-space: normal !important; }
  .kv-kus-tab td:nth-child(3)::before { content: "Vydal: "; color: var(--kv-tus-3); }
  .kv-kus-tab td:nth-child(4)::before { content: "Verzia: "; color: var(--kv-tus-3); }
  .kv-kus-tab td:nth-child(5)::before { content: "Overené: "; color: var(--kv-tus-3); }
  .kv-kus-pol::before { content: "Pol. "; }
}

/* ---------- úvodná stránka ---------- */
.kv-uvod { border-bottom: 1px solid var(--kv-tus); }
.kv-uvod-in { max-width: var(--kv-sirka); margin: 0 auto; padding: 28px var(--kv-okraj) 40px; display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); align-items: center; }
@media (min-width: 980px) { .kv-uvod-in { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 48px; padding-top: 44px; padding-bottom: 56px; } }
.kv-uvod h1 { font-size: clamp(2.1rem, 1.3rem + 3.2vw, 3.6rem); margin-top: 0; }
.kv-uvod .kv-vykres { margin: 0; }
.kv-sekcia { border-bottom: 1px solid var(--kv-linka); }
.kv-sekcia-in { max-width: var(--kv-sirka); margin: 0 auto; padding: 44px var(--kv-okraj) 52px; }
.kv-sekcia-hlava { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px 48px; align-items: end; margin-bottom: 22px; }
@media (min-width: 900px) { .kv-sekcia-hlava { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } }
.kv-sekcia-hlava h2 { margin: 0; }
.kv-sekcia-hlava p { margin: 0; color: var(--kv-tus-2); max-width: 60ch; }
.kv-sekcia-siva { background: var(--kv-plocha); }
.kv-katalog { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--kv-tus); border-left: 1px solid var(--kv-tus); }
@media (min-width: 560px) { .kv-katalog { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .kv-katalog { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.kv-katalog li { border-right: 1px solid var(--kv-tus); border-bottom: 1px solid var(--kv-tus); background: var(--kv-papier); }
.kv-katalog a { display: grid; grid-template-rows: auto auto 1fr auto; height: 100%; padding: 14px 16px 16px; color: var(--kv-tus); text-decoration: none; }
.kv-katalog a:hover { background: var(--kv-plocha); }
.kv-katalog a:hover h3 { text-decoration: underline; }
.kv-katalog svg { width: 100%; height: 92px; margin-bottom: 8px; }
.kv-katalog h3 { margin: 0 0 4px; font-size: 1.16rem; }
.kv-katalog p { margin: 0 0 10px; color: var(--kv-tus-2); font-size: 0.96rem; }
.kv-katalog .kv-kat-poz { font-size: 0.82rem; color: var(--kv-tus-3); border-top: 1px solid var(--kv-linka); padding-top: 6px; margin: 0; }
.kv-dve { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 40px; }
@media (min-width: 900px) { .kv-dve { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kv-faktory { margin: 0; border-top: 1px solid var(--kv-tus); }
.kv-faktory > div { border-bottom: 1px solid var(--kv-linka); padding: 12px 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px 20px; }
@media (min-width: 700px) { .kv-faktory > div { grid-template-columns: 200px minmax(0, 1fr); } }
.kv-faktory dt { font-weight: 700; font-family: var(--kv-nadpis); font-size: 1.08rem; }
.kv-faktory dd { margin: 0; color: var(--kv-tus-2); }
.kv-ceny { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--kv-tus); }
.kv-ceny li { border-bottom: 1px solid var(--kv-linka); padding: 14px 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px 24px; }
@media (min-width: 800px) { .kv-ceny li { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr); align-items: baseline; } }
.kv-ceny h3 { margin: 0; font-size: 1.1rem; }
.kv-ceny .kv-ceny-suma { font-weight: 700; font-variant-numeric: tabular-nums; }
.kv-ceny .kv-ceny-zdroj { font-size: 0.86rem; color: var(--kv-tus-3); }
.kv-dopyt-pas { background: var(--kv-tus); color: #fff; }
.kv-dopyt-pas .kv-sekcia-in { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .kv-dopyt-pas .kv-sekcia-in { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } }
.kv-dopyt-pas h2 { color: #fff; margin-top: 0; }
.kv-dopyt-pas p { color: #dfe4e7; }
.kv-dopyt-pas a { color: #fff; }
.kv-typy { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); border-top: 1px solid #5b6469; border-left: 1px solid #5b6469; }
.kv-typy li { border-right: 1px solid #5b6469; border-bottom: 1px solid #5b6469; }
.kv-typy a { display: block; padding: 13px 14px; text-decoration: none; font-weight: 500; min-height: 48px; }
.kv-typy a:hover { background: #2f383d; }
.kv-typy a::after { content: " →"; }

/* ---------- formuláre / nástroje ---------- */
.kv-nastroj { border: 1.5px solid var(--kv-tus); margin: 1.6em 0; }
.kv-nastroj-h { margin: 0; padding: 10px 14px; border-bottom: 1px solid var(--kv-tus); background: var(--kv-plocha); font: 700 1.05rem/1.3 var(--kv-nadpis); }
.kv-polia { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px 20px; padding: 16px 14px; }
@media (min-width: 640px) { .kv-polia { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kv-pole { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.kv-pole-cele { grid-column: 1 / -1; }
.kv-pole label, .kv-pole legend { font-weight: 700; font-size: 0.96rem; }
.kv-pole .kv-pomoc { font-size: 0.86rem; color: var(--kv-tus-3); margin: 0; }
.kv-pole input, .kv-pole select, .kv-pole textarea { font: 400 1rem/1.35 var(--kv-pismo); color: var(--kv-tus); background: var(--kv-papier); border: 1.5px solid var(--kv-tus-2); border-radius: 0; padding: 10px 11px; min-height: 46px; width: 100%; }
.kv-pole textarea { min-height: 120px; resize: vertical; }
.kv-pole input:focus, .kv-pole select:focus, .kv-pole textarea:focus { outline: 3px solid var(--kv-zinok); outline-offset: 1px; border-color: var(--kv-tus); }
.kv-pole fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.kv-volby { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; margin-top: 6px; }
.kv-volby label { display: flex; align-items: center; gap: 8px; border: 1px solid var(--kv-linka-2); padding: 9px 10px; font-weight: 400; cursor: pointer; min-height: 44px; }
.kv-volby input { width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: var(--kv-zinok); }
.kv-volby label:has(input:checked) { border-color: var(--kv-tus); box-shadow: inset 0 0 0 1px var(--kv-tus); font-weight: 700; }
.kv-akcie { display: flex; flex-wrap: wrap; gap: 10px; padding: 0 14px 16px; }
.kv-vysledok { border-top: 1.5px solid var(--kv-tus); padding: 14px; background: var(--kv-papier); }
.kv-vysledok h3 { margin-top: 0; }
.kv-vysledok-tab th { width: 46%; }
.kv-hodnota { font: 700 1.5rem/1.2 var(--kv-nadpis); }
.kv-stav { display: inline-block; padding: 2px 8px; border: 1px solid currentColor; font-weight: 700; font-size: 0.9rem; }
.kv-stav-ok { color: var(--kv-ok); }
.kv-stav-pozor { color: var(--kv-pozor); }
.kv-stav-zle { color: var(--kv-zle); }
.kv-text-dopytu { font: 400 0.95rem/1.5 var(--kv-pismo); white-space: pre-wrap; background: var(--kv-plocha); border: 1px solid var(--kv-linka-2); padding: 12px; margin: 0 0 12px; max-height: 420px; overflow: auto; }
.kv-chyba { color: var(--kv-zle); font-weight: 700; }

/* matica galvanickej znášanlivosti */
.kv-matica th[scope="row"] { white-space: nowrap; }
.kv-matica td { text-align: center; white-space: nowrap; }
.kv-m-ok { background: #eef4ef; }
.kv-m-nie { background: #f6e9e9; font-weight: 700; }
.kv-m-poz { background: #f7f0e2; }
.kv-m-na { background: var(--kv-papier); color: var(--kv-tus-3); }
.kv-matica td span { display: block; font-size: 0.78rem; font-weight: 400; color: var(--kv-tus-2); white-space: normal; }

/* ---------- pätička ---------- */
.kv-pata { background: var(--kv-tus); color: #e7ebed; margin-top: 0; }
.kv-pata a { color: #fff; }
.kv-pata-in { max-width: var(--kv-sirka); margin: 0 auto; padding: 40px var(--kv-okraj) 24px; display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .kv-pata-in { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 48px; } }
.kv-pata-znacka { font: 700 1.3rem/1.2 var(--kv-nadpis); color: #fff; }
.kv-pata-nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 20px 28px; }
.kv-pata-h { font-weight: 700; color: #fff; border-bottom: 1px solid #5b6469; padding-bottom: 6px; margin-bottom: 8px; }
.kv-pata ul { list-style: none; margin: 0; padding: 0; }
.kv-pata li { margin: 0 0 6px; }
.kv-pata-blok { max-width: var(--kv-sirka); margin: 0 auto; padding: 0 var(--kv-okraj) 32px; }
.kv-tb-pata { border-color: #6b757b; }
.kv-tb-pata > div { border-color: #6b757b; }
.kv-tb-pata dt { color: #b9c2c7; }

/* ---------- prepínač jazyka SK · EN ---------- */
.kv-hlav-pravo { flex: none; display: flex; align-items: center; gap: 14px; }
.kv-jazyk { display: flex; align-items: center; gap: 2px; font: 500 0.95rem/1 var(--kv-pismo); letter-spacing: 0.04em; }
.kv-jazyk a { display: inline-block; padding: 7px 7px 6px; color: var(--kv-tus); text-decoration: none; border: 1px solid transparent; border-bottom: 2px solid transparent; }
.kv-jazyk a:hover { border-bottom-color: var(--kv-tus-3); }
.kv-jazyk a[aria-current] { font-weight: 700; border-color: var(--kv-tus); border-bottom-width: 2px; }
.kv-jazyk-bod { color: var(--kv-tus-3); }
.kv-pata .kv-jazyk a { color: #fff; padding: 2px 6px; }
.kv-pata .kv-jazyk a[aria-current] { border-color: #fff; }
.kv-pata .kv-jazyk-bod { color: #b9c2c7; }
.kv-jazyk-zdroj { font-size: 0.86em; color: var(--kv-tus-3); white-space: nowrap; }
@media (max-width: 519px) {
  .kv-hlav-pravo { flex-direction: column-reverse; align-items: flex-end; gap: 4px; }
  .kv-hlav .kv-jazyk { font-size: 0.85rem; }
  .kv-hlav .kv-jazyk a { padding: 4px 6px 3px; }
}

@media print {
  .kv-hlav, .kv-nav, .kv-pata, .kv-obsah, .kv-netlacit { display: none !important; }
  body.kv-body { font-size: 11pt; }
  .kv-list-telo { display: block; padding: 0; }
  a { color: inherit; text-decoration: none; }
  .kv-kus { background: none; }
}
