/* Nové firmy (/nove-firmy/) – štýly. Všetko pod obalom .nf, aby sa nič nestretlo so style.min.css.
   Farby idú z premenných webu (--n-*, --acc, --gold…), takže svetlý aj tmavý režim (body.dark) fungujú sami.
   Značkovanie zoznamu vykresľuje nove-firmy.js; texty sú v #nf-texty na stránke. */

.nf{interpolate-size:allow-keywords}
.nf *{min-width:0}
.nf [hidden]{display:none!important}
.nf .nf-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ── Hlavička: nadpis vľavo, „tlač dňa“ s počtom a grafom vpravo ───────────────── */
.nf .nf-hero.pg-hero{padding-bottom:28px}
.nf .nf-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:center;gap:20px 56px}
.nf .nf-hero .st{max-width:720px}
.nf .nf-hero p.lead{max-width:640px}

.nf .nf-pulz{position:relative;background:var(--n-surf);border:1px solid var(--n-line);border-radius:22px;padding:22px 24px 16px;box-shadow:var(--n-tien);overflow:hidden}
/* účtovná linajka: dve jemné čiary pod číslom, ako riadky v knihe */
.nf .nf-pulz::before{content:'';position:absolute;left:24px;right:24px;top:92px;height:5px;border-top:1px solid var(--n-line);border-bottom:1px solid var(--n-line);pointer-events:none}
.nf .nf-pulz-cislo{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:clamp(2.7rem,5vw,3.7rem);line-height:1.05;letter-spacing:-.02em;color:var(--n-titul);font-variant-numeric:tabular-nums}
.nf .nf-pulz-popis{margin-top:14px;font-size:14.5px;line-height:1.45;color:var(--n-t2)}
.nf .nf-pulz-graf{display:flex;align-items:flex-end;gap:3px;height:62px;margin-top:16px}
.nf .nf-pulz-graf i{flex:1 1 0;display:block;height:calc(var(--v,0) * 100%);min-height:3px;border-radius:3px 3px 0 0;background:var(--acc);opacity:.88;transition:height .35s ease}
.nf .nf-pulz-graf i.nf-vik{background:var(--n-pole-l);opacity:1}
.nf .nf-pulz-graf i.nf-dnes{background:var(--gold);opacity:1}
body.dark .nf .nf-pulz-graf i.nf-vik{background:rgba(255,255,255,.14)}
.nf .nf-pulz-os{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:12px;color:var(--n-t3)}

/* ── Filtre ─────────────────────────────────────────────────────────────────── */
.nf .nf-sekcia{padding:20px 0 72px}
.nf .nf-filtre{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:end;background:var(--n-surf);border:1px solid var(--n-line);border-radius:22px;padding:22px 24px;box-shadow:var(--n-tien)}
.nf .nf-pole{display:flex;flex-direction:column;gap:7px;grid-column:span 4}
.nf .nf-pole-obdobie{grid-column:span 7}
.nf .nf-pole-q{grid-column:span 5}
.nf .nf-label{font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--n-t3)}

/* obdobie: segmentový prepínač */
.nf .nf-obdobie{display:flex;gap:4px;padding:4px;background:var(--n-chip);border-radius:14px}
.nf .nf-obdobie button{flex:1 1 0;appearance:none;-webkit-appearance:none;font:inherit;font-size:14.5px;font-weight:600;line-height:1.1;min-height:42px;padding:0 8px;border:0;border-radius:10px;background:transparent;color:var(--n-t2);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:background-color .2s,color .2s,box-shadow .2s}
.nf .nf-obdobie button small{font-size:11.5px;font-weight:500;color:var(--n-t3);font-variant-numeric:tabular-nums}
.nf .nf-obdobie button:hover{color:var(--n-ink)}
.nf .nf-obdobie button[aria-checked="true"]{background:var(--n-surf);color:var(--n-ink);box-shadow:0 1px 2px rgba(13,17,23,.14),0 0 0 1px var(--n-line)}
body.dark .nf .nf-obdobie button[aria-checked="true"]{background:var(--n-pole);box-shadow:0 0 0 1px rgba(255,255,255,.14)}

/* polia: spoločný vzhľad pre hľadanie a rozbaľovačky (prvky.js im dá šípku) */
.nf select,.nf .nf-hladaj input{width:100%;min-height:50px;border-radius:14px;border:1px solid var(--n-pole-l);background-color:var(--n-pole);color:var(--n-ink);font:inherit;font-size:15.5px;padding:0 14px;transition:border-color .2s,box-shadow .2s}
.nf select:hover,.nf .nf-hladaj input:hover{border-color:var(--gold)}
.nf select:focus,.nf .nf-hladaj input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent)}
.nf .nf-hladaj{position:relative}
.nf .nf-hladaj svg{position:absolute;left:15px;top:50%;margin-top:-9px;color:var(--n-t3);pointer-events:none}
.nf .nf-hladaj input{padding-left:42px;-webkit-appearance:none;appearance:none}
.nf .nf-hladaj input::-webkit-search-cancel-button{-webkit-appearance:none}
.nf select:disabled{opacity:.55;cursor:default}

.nf .nf-akcie{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.nf .nf-zrus{appearance:none;-webkit-appearance:none;font:inherit;font-size:14.5px;font-weight:600;background:none;border:0;padding:8px 4px;color:var(--n-titul);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}
.nf .nf-csv{min-height:50px;cursor:pointer}
.nf .nf-csv svg{flex:none}
.nf .nf-csv:disabled{opacity:.5;cursor:default}
.nf .nf-obdobie button:focus-visible,.nf .nf-zrus:focus-visible,.nf .nf-csv:focus-visible,.nf .nf-str button:focus-visible,.nf .nf-tab a:focus-visible,.nf .nf-znova:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* ── Oznamy (starý zoznam, neúplný zoznam, chyba) ───────────────────────────── */
.nf .nf-oznamy:not(:empty){margin-top:18px;display:grid;gap:10px}
.nf .nf-oznam{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px 14px;margin:0;padding:14px 18px;border-radius:14px;font-size:15px;line-height:1.55;border:1px solid transparent}
.nf .nf-oznam-info{background:var(--n-modra);color:var(--n-ink);border-color:var(--n-line)}
.nf .nf-oznam-varovanie{background:var(--n-zlta);color:var(--n-ink);border-color:color-mix(in srgb,var(--gold) 45%,transparent)}
.nf .nf-oznam-chyba{background:var(--ek-cerv-bg,#f8e6e2);color:var(--ek-cerv,#a33a2a);border-color:color-mix(in srgb,var(--ek-cerv,#a33a2a) 30%,transparent)}
.nf .nf-oznam p{margin:0;flex:1 1 320px}
.nf .nf-znova{appearance:none;-webkit-appearance:none;font:inherit;font-size:14.5px;font-weight:700;color:inherit;background:none;border:1px solid currentColor;border-radius:10px;padding:0 14px;min-height:40px;cursor:pointer}

/* ── Výsledky ───────────────────────────────────────────────────────────────── */
.nf .nf-vysledky{margin-top:22px}
.nf .nf-stav{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 18px;margin:0 2px 12px;font-size:15px;color:var(--n-t2)}
.nf .nf-stav b{font-family:'Playfair Display',Georgia,serif;font-size:1.35rem;color:var(--n-ink);font-variant-numeric:tabular-nums}
.nf .nf-prazdno{padding:40px 24px;text-align:center;color:var(--n-t2);background:var(--n-surf);border:1px dashed var(--n-pole-l);border-radius:22px;line-height:1.6}
.nf .nf-prazdno button{margin-top:14px}

.nf .nf-kostra{display:grid;gap:10px}
.nf .nf-kostra i{display:block;height:62px;border-radius:14px;background:linear-gradient(100deg,var(--n-chip) 30%,var(--n-surf) 50%,var(--n-chip) 70%);background-size:220% 100%;animation:nf-kostra 1.3s ease-in-out infinite}
@keyframes nf-kostra{from{background-position:120% 0}to{background-position:-120% 0}}
@media (prefers-reduced-motion:reduce){.nf .nf-kostra i{animation:none}.nf .nf-pulz-graf i{transition:none}}

/* tabuľka: riadky pod hlavičkou dňa, ako záznamy v knihe */
.nf .nf-tab{width:100%;border-collapse:separate;border-spacing:0;background:var(--n-surf);border:1px solid var(--n-line);border-radius:22px;overflow:clip;box-shadow:var(--n-tien)}
.nf .nf-tab thead th{position:sticky;top:72px;z-index:2;text-align:left;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--n-t3);padding:14px 16px;background:var(--n-chip);border-bottom:1px solid var(--n-line)}
.nf .nf-tab .nf-den th{text-align:left;font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:1.05rem;color:var(--n-titul);padding:16px 16px 10px;background:var(--n-surf);border-top:1px solid var(--n-line);border-left:4px solid var(--gold)}
.nf .nf-tab .nf-den small{font-family:'DM Sans',system-ui,sans-serif;font-weight:500;font-size:13px;color:var(--n-t3);margin-left:8px}
.nf .nf-tab tbody:first-child .nf-den th{border-top:0}
.nf .nf-tab td{vertical-align:top;padding:12px 16px 14px;border-top:1px solid var(--n-line);font-size:14.5px;line-height:1.5;color:var(--n-t2)}
.nf .nf-tab tr.nf-r:hover td{background:color-mix(in srgb,var(--acc) 5%,transparent)}
.nf .nf-tab td.nf-c-vznik{width:1%;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--n-t3)}
.nf .nf-tab td.nf-c-nazov{width:29%}
.nf .nf-tab td.nf-c-forma{width:17%}
.nf .nf-tab td.nf-c-sidlo{width:23%}
.nf .nf-tab td.nf-c-cinnost{width:22%}
.nf .nf-nazov{display:inline;font-size:15.5px;font-weight:700;line-height:1.35;color:var(--n-titul);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--n-titul) 35%,transparent);text-underline-offset:3px}
.nf .nf-nazov:hover{text-decoration-color:currentColor}
.nf .nf-ico{display:block;margin-top:3px;font-size:12.5px;color:var(--n-t3);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.nf .nf-zan{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;background:var(--ek-cerv-bg,#f8e6e2);color:var(--ek-cerv,#a33a2a);vertical-align:2px;white-space:nowrap}
.nf .nf-forma{display:inline-block;padding:3px 10px;border-radius:10px;font-size:13px;font-weight:600;line-height:1.35;background:var(--n-chip);color:var(--n-ink)}
.nf .nf-sidlo b{display:block;font-weight:600;color:var(--n-ink)}
.nf .nf-sidlo span{display:block;color:var(--n-t3);font-size:13px}
.nf .nf-nace{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:6px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--n-modra);color:var(--n-titul);vertical-align:1px}
.nf .nf-bez{color:var(--n-t3);font-style:italic}
.nf .nf-cinnost{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ── Stránkovanie ───────────────────────────────────────────────────────────── */
.nf .nf-str{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:22px}
.nf .nf-str button{appearance:none;-webkit-appearance:none;font:inherit;font-size:14.5px;font-weight:600;min-width:44px;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--n-pole-l);background:var(--n-surf);color:var(--n-ink);cursor:pointer;font-variant-numeric:tabular-nums;transition:border-color .2s,background-color .2s}
.nf .nf-str button:hover:not(:disabled){border-color:var(--gold)}
.nf .nf-str button[aria-current="page"]{background:var(--n-navy,#1a3a5c);border-color:var(--n-navy,#1a3a5c);color:#fff}
.nf .nf-str button:disabled{opacity:.45;cursor:default}
.nf .nf-str .nf-bodky{padding:0 4px;color:var(--n-t3)}

.nf .nf-zdroj{margin:26px 2px 0;font-size:13.5px;line-height:1.6;color:var(--n-t3);max-width:820px}
.nf .nf-vysledky[aria-busy="true"] .nf-tab,.nf .nf-vysledky[aria-busy="true"] .nf-str{opacity:.55;transition:opacity .2s}
.nf .nf-zdroj a{color:var(--n-titul);text-decoration:underline;text-underline-offset:3px}

/* ── Menšie obrazovky ───────────────────────────────────────────────────────── */
@media (max-width:1080px){
  .nf .nf-hero-grid{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:20px 32px}
  .nf .nf-pole,.nf .nf-pole-q{grid-column:span 6}
  .nf .nf-pole-obdobie{grid-column:1/-1}
  .nf .nf-akcie{grid-column:1/-1}
  .nf .nf-tab td.nf-c-cinnost{display:none}
  .nf .nf-tab thead th:nth-child(5){display:none}
}
@media (max-width:760px){
  .nf .nf-hero-grid{grid-template-columns:minmax(0,1fr)}
  .nf .nf-hero.pg-hero{padding-bottom:16px}
  .nf .nf-filtre{padding:18px 16px;gap:14px;border-radius:18px}
  .nf .nf-pole,.nf .nf-pole-q,.nf .nf-pole-obdobie{grid-column:1/-1}
  .nf .nf-obdobie button{font-size:13.5px;padding:0 2px}
  .nf .nf-akcie{justify-content:space-between}
  .nf .nf-akcie .btn-o{flex:1 1 auto}

  /* tabuľka sa zmení na karty: každá firma je blok, popisky stĺpcov z data-l */
  .nf .nf-tab,.nf .nf-tab tbody,.nf .nf-tab tr,.nf .nf-tab th,.nf .nf-tab td{display:block}
  .nf .nf-tab{background:none;border:0;box-shadow:none;border-radius:0;overflow:visible}
  .nf .nf-tab thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
  .nf .nf-tab tbody{margin-bottom:6px}
  .nf .nf-tab .nf-den th{padding:14px 12px 8px;background:none;border:0;border-left:4px solid var(--gold)}
  .nf .nf-tab tr.nf-r{margin:0 0 10px;padding:14px 16px 12px;background:var(--n-surf);border:1px solid var(--n-line);border-radius:18px;box-shadow:var(--n-tien)}
  .nf .nf-tab td{padding:6px 0 0;border:0;width:auto!important;white-space:normal!important}
  .nf .nf-tab td::before{content:attr(data-l);display:block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--n-t3);margin-bottom:1px}
  .nf .nf-tab td.nf-c-nazov{padding-top:0}
  .nf .nf-tab td.nf-c-nazov::before,.nf .nf-tab td.nf-c-vznik::before{display:none}
  .nf .nf-tab td.nf-c-vznik{display:none}
  .nf .nf-tab td.nf-c-cinnost{display:block}
  .nf .nf-str button{min-width:42px}
  .nf .nf-str .nf-cislo{display:none}
  .nf .nf-str .nf-cislo[aria-current="page"]{display:inline-flex;align-items:center;justify-content:center}
}
@media print{
  .nf .nf-filtre,.nf .nf-akcie,.nf .nf-str,.nf .nf-pulz-graf{display:none}
}
