/* Datahorses verzia 2 (/verzia2, 30. 10. 2026): doplnok k strazca.css.
   1 zoznam Čo strážime, podpora s tiketmi a plávajúci widget.
   ⛔ Hlavné stránky tento súbor nenačítajú. */
:root { --online: #3ddc84; }

/* Hlavička */
@media (max-width: 400px) { .znacka img { height: 26px; } }
@media (min-width: 960px) {
  .menu { margin-left: auto; }
  .menu a:nth-child(n) { display: inline; }
  .menu a:nth-child(5) { display: none; }
}
/* Menu: 1 Za čo, 2 Čo strážime, 3 O nás, 4 Spolupráca, 5 Otázky, 6 Podpora, 7 Ponuka (O nás od 30. 10. 2026). */
@media (min-width: 960px) and (max-width: 1279px) {
  .menu a:nth-child(1), .menu a:nth-child(4) { display: none; }
}
/* Nemčina a francúzština majú dlhé slová, na počítači sa Za čo nezmestí (DE pretekala o 35 px už pred O nás). */
@media (min-width: 960px) {
  html:lang(de) .menu a:nth-child(1), html:lang(fr) .menu a:nth-child(1) { display: none; }
}

/* Čo strážime: 8 oblastí, v každej rovnaký zoznam. */
.v2-oblasti { display: grid; gap: 16px; }
@media (min-width: 760px) { .v2-oblasti { grid-template-columns: 1fr 1fr; } }
.v2-oblast { background: var(--bg-3); border: 1px solid var(--okraj); border-radius: 14px; padding: 18px 18px 10px; }
.v2-oblast-hlava { display: flex; gap: 12px; align-items: center; }
.v2-oblast-ikona { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex-shrink: 0;
  border-radius: 10px; background: rgba(47,212,196,.1); color: var(--akcent); }
.v2-oblast h3 { font-size: 1.05rem; line-height: 1.3; }
.v2-oblast-pocet { color: var(--tlmene); font-size: .8rem; margin-top: 2px; }
.v2-oblast-veta { color: var(--tlmene); font-size: .92rem; margin: 12px 0 8px; }
.v2-polozky { list-style: none; }
.v2-pol { border-top: 1px solid var(--okraj); font-size: .93rem; }
.v2-pol > span, .v2-pol summary { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 0; }
.v2-pol > span::before, .v2-pol summary::before { content: ""; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; background: var(--zlta); }
.v2-kriticke > span::before, .v2-kriticke summary::before { background: var(--cervena); }
.v2-stredne > span::before, .v2-stredne summary::before { background: var(--oranzova); }
.v2-aktiv > span::before, .v2-aktiv summary::before { background: var(--cervena); box-shadow: 0 0 0 0 rgba(255,107,107,.6); animation: v2pulz 1.8s infinite; }
.v2-aktiv > span, .v2-aktiv summary { font-weight: 600; color: #fff; }
.v2-pol summary { cursor: pointer; list-style: none; }
.v2-pol summary::-webkit-details-marker { display: none; }
.v2-pol summary::after { content: ""; margin-left: auto; width: 8px; height: 8px; flex-shrink: 0; border-right: 2px solid var(--tlmene);
  border-bottom: 2px solid var(--tlmene); transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; }
.v2-pol details[open] summary::after { transform: rotate(225deg) translateY(-2px); }
.v2-pol summary:hover { color: #fff; }
.v2-pol summary:focus-visible { outline: 2px solid var(--akcent); outline-offset: 2px; border-radius: 6px; }
/* Rozbalený detail: veta pre laika, pod ňou technický detail (čo, zdroj, ako často, v poriadku, upozorníme). */
.v2-det { padding: 0 0 14px 18px; font-size: .88rem; }
.v2-laik { color: var(--text); margin-bottom: 10px; }
.v2-tech { display: grid; gap: 8px; margin: 0; padding: 10px 12px; border-left: 2px solid var(--okraj); background: rgba(255,255,255,.02); border-radius: 0 8px 8px 0; }
.v2-tech dt { color: var(--akcent); font-size: .74rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
.v2-tech dd { margin: 2px 0 0; color: var(--tlmene); overflow-wrap: anywhere; }
@media (min-width: 1100px) { .v2-tech > div { display: grid; grid-template-columns: 9.5rem 1fr; gap: 10px; } .v2-tech dd { margin: 0; } }
.v2-vsetko-obal { margin: 0 0 14px; }
.v2-vsetko { min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--okraj); background: var(--bg-3); color: var(--text);
  font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; }
.v2-vsetko:hover { border-color: var(--akcent); }
.v2-vsetko:focus-visible { outline: 2px solid var(--akcent); outline-offset: 2px; }
@keyframes v2pulz { 0% { box-shadow: 0 0 0 0 rgba(255,107,107,.6); } 70% { box-shadow: 0 0 0 7px rgba(255,107,107,0); } 100% { box-shadow: 0 0 0 0 rgba(255,107,107,0); } }

.v2-incident { margin-top: 28px; background: var(--bg-3); border: 1px solid var(--okraj); border-left: 3px solid var(--akcent);
  border-radius: 14px; padding: 22px; }
.v2-incident h3 { font-size: 1.2rem; margin-bottom: 12px; }
.v2-incident-kroky { padding-left: 22px; display: grid; gap: 8px; }
.v2-incident-pata { color: var(--tlmene); font-size: .9rem; margin-top: 14px; }

/* Podpora namiesto kontaktného formulára. */
.v2-podpora { display: grid; gap: 24px; }
.v2-podpora h2 { margin-bottom: 12px; }
.v2-podpora > div > p { color: var(--tlmene); }
.v2-podpora-akcie { display: grid; gap: 14px; align-content: start; }
.v2-podpora-akcie .tl { gap: 10px; }
.v2-pata-kontakt a { color: var(--akcent); font-weight: 600; text-decoration: none; white-space: nowrap; }
@media (min-width: 960px) { .v2-podpora { grid-template-columns: 1.4fr 1fr; gap: 56px; align-items: center; } }

/* Päta: telefón a podpora. */
.v2-pata-kontakt { display: grid; gap: 6px; font-size: .95rem; }
.v2-pata-kontakt span { color: var(--tlmene); margin-right: 8px; }
@media (min-width: 640px) { .v2-pata-kontakt { text-align: right; } }

/* Zelená „online“ bodka. */
.v2-online { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--online); flex-shrink: 0;
  box-shadow: 0 0 6px var(--online); animation: v2svieti 2.4s ease-in-out infinite; }
@keyframes v2svieti { 0%, 100% { box-shadow: 0 0 4px var(--online), 0 0 0 0 rgba(61,220,132,.5); } 50% { box-shadow: 0 0 10px var(--online), 0 0 0 5px rgba(61,220,132,0); } }
@media (prefers-reduced-motion: reduce) { .v2-online, .v2-aktiv summary::before, .v2-aktiv > span::before { animation: none; } }

/* Plávajúci widget podpory: tiket, nie chat. */
.v2-widget { position: fixed; right: 16px; bottom: 16px; z-index: 60; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.v2-widget-tl { display: inline-flex; align-items: center; gap: 9px; min-height: 48px; padding: 10px 18px; border-radius: 999px;
  border: 1px solid var(--okraj); background: var(--bg-2); color: var(--text); font: inherit; font-weight: 600; cursor: pointer;
  box-shadow: 0 8px 28px rgba(0,0,0,.45); }
.v2-widget-tl:hover { border-color: var(--akcent); }
.v2-widget-tl:focus-visible, .v2-widget-zavri:focus-visible { outline: 2px solid var(--akcent); outline-offset: 2px; }
.v2-widget-stav { color: var(--online); font-size: .8rem; font-weight: 600; }
.v2-widget.otvoreny .v2-widget-tl { display: none; }
.v2-widget-panel { width: min(360px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow-y: auto; background: var(--bg-2);
  border: 1px solid var(--okraj); border-radius: 14px; padding: 16px; box-shadow: 0 16px 44px rgba(0,0,0,.55); }
.v2-widget-hlava { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.v2-widget-hlava p { display: inline-flex; align-items: center; gap: 9px; font-weight: 600; }
.v2-widget-zavri { background: none; border: 1px solid var(--okraj); color: var(--text); border-radius: 8px; width: 36px; height: 36px;
  font-size: 1.3rem; line-height: 1; cursor: pointer; }
.v2-widget-popis { color: var(--tlmene); font-size: .85rem; margin: 8px 0 12px; }
.v2-tiket-form { display: grid; gap: 12px; }
.v2-tiket-form input, .v2-tiket-form textarea, .v2-tiket-form select { width: 100%; }
/* Overenie ALTCHA (31. 10. 2026): widget v tmavom štýle webu, na celú šírku formulára, prst sa trafí. */
.v2-overenie altcha-widget { display: block; }
.v2-overenie .altcha { --altcha-max-width: 100%; --altcha-border-radius: 10px; --altcha-color-base: var(--bg-3);
  --altcha-color-border: var(--okraj); --altcha-color-border-focus: var(--akcent); --altcha-color-text: var(--text);
  --altcha-color-active: var(--akcent); --altcha-color-error-text: #ff8f8f; --altcha-color-footer-bg: var(--bg-2); }
.v2-overenie .altcha-main { min-height: 52px; padding: 10px 14px; gap: 12px; }
.v2-overenie .altcha-checkbox input { width: 22px; height: 22px; accent-color: var(--akcent); }
.v2-overenie .altcha-label { font-size: .93rem; }
.v2-overenie .altcha-error { font-size: .82rem; padding: 0 14px 10px; }
.v2-tiket-stav[data-stav="riesi_sa"] { color: var(--zlta); border-color: rgba(255,200,87,.45); }
.v2-tiket-stav[data-stav="vybaveny"] { color: var(--akcent); border-color: rgba(47,212,196,.45); }
.v2-tiket-odpoved { margin-top: 10px; padding: 10px 12px; border-left: 2px solid var(--akcent); background: rgba(47,212,196,.06); border-radius: 0 8px 8px 0; }
.v2-tiket-odpoved b { color: var(--akcent); font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; }
.v2-tiket-odpoved p { white-space: pre-wrap; overflow-wrap: anywhere; margin-top: 4px; font-size: .93rem; }
.v2-nepov { color: var(--tlmene); font-weight: 400; }

/* Stránka tiketov. */
.v2-h1 { font-size: clamp(1.7rem, 4vw, 2.4rem); line-height: 1.2; }
.v2-tikety { display: grid; gap: 24px; }
.v2-tikety h2 { font-size: 1.2rem; margin-bottom: 12px; }
.v2-tikety-zoznam { order: 2; }
@media (min-width: 960px) { .v2-tikety { grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; } .v2-tikety-zoznam { order: 0; } }
.v2-moje { list-style: none; display: grid; gap: 12px; }
.v2-moje-prazdne { color: var(--tlmene); border: 1px dashed var(--okraj); border-radius: 12px; padding: 16px; }
.v2-tiket { background: var(--bg-3); border: 1px solid var(--okraj); border-radius: 12px; padding: 14px 16px; }
.v2-tiket-novy { border-color: var(--online); box-shadow: 0 0 0 1px var(--online) inset; }
.v2-tiket-hlava { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.v2-tiket-stav { font-size: .78rem; font-weight: 600; color: var(--online); border: 1px solid rgba(61,220,132,.45); border-radius: 99px; padding: 2px 10px; }
.v2-tiket-meta { color: var(--tlmene); font-size: .82rem; margin-top: 4px; }
.v2-tiket-text { white-space: pre-wrap; overflow-wrap: anywhere; margin-top: 8px; font-size: .93rem; }
.v2-spat { margin-top: 32px; text-align: center; }
.v2-spat a { color: var(--akcent); }
.v2-tiket-form select { min-height: 48px; padding: 12px 14px; font: inherit; color: var(--text); background: var(--bg);
  border: 1px solid var(--okraj); border-radius: 10px; }
.v2-tiket-form select:focus-visible, .v2-tiket-form textarea:focus-visible { outline: 2px solid var(--akcent); outline-offset: 2px; }
.v2-pripr { font-style: normal; font-size: .7rem; font-weight: 600; letter-spacing: .02em; color: var(--tlmene); border: 1px solid var(--okraj); border-radius: 999px; padding: 1px 8px; margin-left: 4px; white-space: nowrap; }

/* Heslo (Juraj 30. 10. 2026): bez inštalácie, bez prístupov, zvonku. Pás za Ukážkou pred Spoluprácou. */
.sekcia.v2-heslo-pas { padding-bottom: 0; }
.v2-heslo { max-width: 960px; margin: 0 auto; border: 2px solid var(--akcent); border-radius: 14px; padding: 16px 18px;
  background: rgba(10,14,20,.82); box-shadow: 0 0 0 4px rgba(47,212,196,.12); }
.v2-heslo-h { font-size: clamp(1.15rem, 4.6vw, 1.45rem); font-weight: 700; line-height: 1.25; color: var(--akcent); }
.v2-heslo-body { list-style: none; display: grid; gap: 10px; margin-top: 12px; }
.v2-heslo-body li { display: flex; gap: 10px; align-items: flex-start; }
.v2-heslo-ikona { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; flex-shrink: 0;
  border-radius: 9px; background: rgba(47,212,196,.14); color: var(--akcent); }
.v2-heslo-body b { display: block; font-size: 1.05rem; line-height: 1.3; color: #fff; }
.v2-heslo-body span:not(.v2-heslo-ikona) { display: block; font-size: .88rem; line-height: 1.4; color: var(--tlmene); }
@media (min-width: 700px) { .v2-heslo-body { grid-template-columns: repeat(3, 1fr); } .v2-heslo-body li { flex-direction: column; gap: 8px; } }
@media (max-width: 959px) { .v2-heslo { padding: 12px 14px; } }
@media (max-width: 699px) { .v2-heslo-body { gap: 8px; margin-top: 10px; } .v2-heslo-ikona { width: 28px; height: 28px; } .v2-heslo-ikona svg { width: 18px; height: 18px; }
  .v2-heslo-body b { font-size: 1rem; } .v2-heslo-body span:not(.v2-heslo-ikona) { font-size: .82rem; line-height: 1.35; } }

/* Človek za každou firmou (Juraj 30. 10. 2026): rámček hneď za Ukážkou, pred heslom. */
.sekcia.v2-clovek-pas { padding-bottom: 0; }
.v2-clovek { max-width: 960px; margin: 0 auto; display: flex; gap: 16px; align-items: flex-start; border: 2px solid var(--akcent);
  border-radius: 14px; padding: 18px 20px; background: linear-gradient(135deg, rgba(47,212,196,.16), rgba(10,14,20,.88) 60%);
  box-shadow: 0 0 0 4px rgba(47,212,196,.12); }
.v2-clovek-ikona { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; flex-shrink: 0;
  border-radius: 12px; background: var(--akcent); color: #0a0e14; }
.v2-clovek-ikona svg { width: 30px; height: 30px; }
.v2-clovek-h { font-size: clamp(1.2rem, 4.8vw, 1.6rem); font-weight: 700; line-height: 1.25; color: #fff; }
.v2-clovek-p { margin-top: 6px; font-size: 1rem; line-height: 1.5; color: var(--text); }
@media (max-width: 699px) { .v2-clovek { padding: 14px; gap: 12px; } .v2-clovek-ikona { width: 42px; height: 42px; }
  .v2-clovek-ikona svg { width: 24px; height: 24px; } .v2-clovek-p { font-size: .95rem; } }
/* Firma v päte (30. 10. 2026): vlastný riadok pod copyrightom, odkazy na ORSR a RPO. */
.v2-pata-firma { flex-basis: 100%; font-size: .85rem; line-height: 1.5; }
.v2-pata-firma a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* O nás (Juraj 30. 10. 2026): výrazný odznak Od roku 2021 hneď pod nadpisom, príbeh v pár vetách. */
.v2-onas .sekcia-hlava { margin-bottom: 22px; }
.sekcia-hlava p.v2-onas-odznak { display: inline-block; margin-top: 14px; padding: 7px 16px; border-radius: 999px;
  background: var(--akcent); color: #0a0e14; font-weight: 800; font-size: .95rem; letter-spacing: .14em;
  text-transform: uppercase; box-shadow: 0 0 0 4px rgba(47,212,196,.18); }
.v2-onas-pribeh { max-width: 680px; margin: 0 auto; text-align: center; font-size: 1.12rem; line-height: 1.65; color: var(--text); }
.v2-onas-zakladatel { max-width: 680px; margin: 16px auto 0; text-align: center; font-size: .98rem; line-height: 1.5; color: var(--tlmene); }
@media (max-width: 699px) { .v2-onas-pribeh { font-size: 1.02rem; } .sekcia-hlava p.v2-onas-odznak { font-size: .85rem; } }
/* Karta zakladateľa v O nás (Juraj 30. 10. 2026): malá, decentná, fotka 80 px, na mobile fotka nad textom. */
.v2-zak { display: flex; gap: 18px; align-items: flex-start; max-width: 560px; margin: 26px auto 0; padding: 18px;
  background: var(--bg-3); border: 1px solid var(--okraj); border-radius: 14px; text-align: left; }
.v2-zak-foto { width: 80px; height: 80px; flex-shrink: 0; border-radius: 50%; object-fit: cover; border: 2px solid rgba(47,212,196,.35); }
.v2-zak-telo { min-width: 0; }
.v2-zak-meno { font-weight: 700; font-size: 1.05rem; color: var(--text); line-height: 1.3; }
.v2-zak-li { display: inline-flex; vertical-align: -2px; margin-left: .45rem; color: #0a66c2; }
.v2-zak-li:hover { opacity: .8; }
.v2-zak-rola { color: var(--akcent); font-size: .88rem; margin-top: 2px; }
.v2-zak-veta { color: var(--text); font-size: .93rem; line-height: 1.5; margin-top: 8px; }
.v2-zak-ref-h { color: var(--tlmene); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; margin-top: 12px; }
.v2-zak-ref { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 6px; }
.v2-zak-ref li { position: relative; padding-left: 14px; font-size: .86rem; line-height: 1.45; color: var(--tlmene); }
.v2-zak-ref li::before { content: ""; position: absolute; left: 0; top: .6em; width: 5px; height: 5px; border-radius: 50%; background: var(--akcent); }
@media (max-width: 699px) { .v2-zak { flex-direction: column; align-items: center; text-align: center; padding: 16px; gap: 12px; }
  .v2-zak-ref { text-align: left; } }
/* Dosah firmy pod kartou zakladateľa (Juraj 31. 10. 2026): tmavý blok ako karta, 3 štítky s tyrkysovou hodnotou. */
.v2-dosah { max-width: 560px; margin: 14px auto 0; padding: 18px; background: var(--bg-3); border: 1px solid var(--okraj); border-radius: 14px; }
.v2-dosah-stitky { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.v2-dosah-stitky li { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 3px;
  padding: 12px 6px; border: 1px solid rgba(47,212,196,.28); border-radius: 10px; background: rgba(47,212,196,.06); min-width: 0; }
.v2-dosah-hod { color: var(--akcent); font-weight: 700; font-size: 1.05rem; line-height: 1.2; overflow-wrap: anywhere; }
.v2-dosah-pop { color: var(--tlmene); font-size: .78rem; line-height: 1.3; }
.v2-dosah-text { margin-top: 14px; color: var(--text); font-size: .93rem; line-height: 1.55; text-align: center; }
@media (max-width: 699px) { .v2-dosah { padding: 16px; } .v2-dosah-stitky { gap: 8px; } .v2-dosah-hod { font-size: .95rem; } .v2-dosah-pop { font-size: .74rem; } }
/* 9. oblasť AI modely (30. 10. 2026): cez celú šírku, vysvetlenie položky viditeľné bez rozbaľovania */
@media (min-width: 760px) { .v2-oblast-ai { grid-column: 1 / -1; } }
.v2-oblast-ai { border-color: rgba(47, 212, 196, .45); }
.v2-vysv { margin: 2px 0 10px; padding: 10px 12px; border-left: 3px solid var(--akcent); border-radius: 8px; background: rgba(47, 212, 196, .07); font-size: .9rem; line-height: 1.5; }

/* Pás s tlačidlami Vyžiadať ponuku a Pozrieť celý dashboard (Juraj 30. 10. 2026) */
.v2-cta-pas { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-top: 2rem; }
.v2-cta-pas .tl { min-width: 14rem; justify-content: center; text-align: center; }
.hero-akcie { display: flex; flex-wrap: wrap; gap: .75rem; }

/* Rubrika Articles (Juraj 31. 10. 2026): 6 ukážok na úvodnej stránke, zoznam /articles/ a stránka článku. */
.v2-cl-mriezka { display: grid; gap: 16px; }
@media (min-width: 700px) { .v2-cl-mriezka { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .v2-cl-mriezka { grid-template-columns: 1fr 1fr 1fr; } }
.v2-cl .v2-cl-mriezka { grid-template-columns: 1fr; }
.v2-cl-karta { background: var(--bg-3); border: 1px solid var(--okraj); border-radius: 14px; padding: 18px; min-width: 0; }
.v2-cl-karta:hover { border-color: rgba(47,212,196,.45); }
.v2-cl-datum { color: var(--tlmene); font-size: .8rem; letter-spacing: .04em; }
.v2-cl-karta h2, .v2-cl-karta h3 { font-size: 1.08rem; line-height: 1.35; margin: 6px 0 8px; }
.v2-cl-karta h2 a, .v2-cl-karta h3 a { color: var(--text); text-decoration: none; }
.v2-cl-karta h2 a:hover, .v2-cl-karta h3 a:hover { color: var(--akcent); }
.v2-cl-karta p:last-child { color: var(--tlmene); font-size: .93rem; line-height: 1.5; }
.v2-cl-viac { text-align: center; margin-top: 28px; }
.v2-cl-viac .tl { min-width: 14rem; justify-content: center; }
.v2-cl-drobky { display: flex; flex-wrap: wrap; gap: 8px; font-size: .85rem; color: var(--tlmene); margin-bottom: 18px; }
.v2-cl-drobky a { color: var(--tlmene); }
.v2-cl .v2-h1 { font-size: clamp(1.7rem, 4.2vw, 2.4rem); line-height: 1.2; }
.v2-cl-meta { color: var(--tlmene); font-size: .9rem; margin: 12px 0 28px; }
.v2-cl-meta a { color: var(--tlmene); }
.v2-cl-telo { font-size: 1.04rem; line-height: 1.7; overflow-wrap: anywhere; }
.v2-cl-telo h2 { font-size: 1.4rem; line-height: 1.3; margin: 2.1em 0 .6em; }
.v2-cl-telo h3 { font-size: 1.12rem; margin: 1.6em 0 .5em; }
.v2-cl-telo p, .v2-cl-telo ul, .v2-cl-telo ol, .v2-cl-telo pre { margin: 0 0 1.1em; }
.v2-cl-telo ul, .v2-cl-telo ol { padding-left: 1.3em; }
.v2-cl-telo li { margin-bottom: .45em; }
.v2-cl-telo code { font-size: .9em; background: var(--bg-3); border: 1px solid var(--okraj); border-radius: 5px; padding: 1px 5px; overflow-wrap: anywhere; }
.v2-cl-telo pre { background: var(--bg-3); border: 1px solid var(--okraj); border-radius: 10px; padding: 14px; overflow-x: auto; }
.v2-cl-telo pre code { background: none; border: 0; padding: 0; font-size: .86rem; line-height: 1.55; overflow-wrap: normal; white-space: pre; }
.v2-cl-media { margin: 1.6em 0; }
.v2-cl-media img, .v2-cl-media video { display: block; width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--okraj); background: var(--bg-3); }
.v2-cl-media figcaption { font-size: .88rem; color: var(--tlmene); margin-top: .5em; }
.v2-onas-historia { max-width: 680px; margin: 12px auto 0; text-align: center; font-size: .98rem; }
.v2-onas-historia a { font-weight: 600; }
.v2-cl-cta { margin: 40px 0 8px; padding: 22px; border: 1px solid rgba(47,212,196,.45); border-radius: 14px; background: rgba(47,212,196,.06); text-align: center; }
.v2-cl-cta-h { font-weight: 700; font-size: 1.2rem; color: var(--text); }
.v2-cl-cta p { margin-top: 8px; }
.v2-cl-cta .v2-cta-pas { margin-top: 1.2rem; }
.v2-cl-dalsie { margin-top: 44px; }
.v2-cl-dalsie > h2 { font-size: 1.3rem; margin-bottom: 16px; }
.v2-cl-main > .sekcia:first-child { padding-top: 32px; }

/* Formulár ponuky: zoznam domén, subdomén a IP adries s veľkým pluskom (Juraj 31. 10. 2026) */
.v2-ak { display: block; padding: 12px 14px 14px; }
.v2-ak-pomoc { color: var(--tlmene); font-size: .88rem; margin: 2px 0 10px; }
.v2-ak-zoznam { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: ak; }
.v2-ak-riadok { display: grid; grid-template-columns: 1fr 48px; grid-template-areas: "pole zmaz" "typ typ"; gap: 4px 8px; align-items: center; }
.v2-ak-riadok input { grid-area: pole; width: 100%; min-width: 0; min-height: 48px; padding: 10px 12px; font: inherit; font-size: 1rem;
  color: var(--text); background: var(--bg); border: 1px solid var(--okraj); border-radius: 10px; }
.v2-ak-riadok input:focus { outline: none; border-color: var(--akcent); box-shadow: 0 0 0 1px var(--akcent) inset; }
.v2-ak-riadok.v2-ak-chyba input { border-color: #ff6b6b; box-shadow: 0 0 0 1px #ff6b6b inset; }
.v2-ak-zmaz { grid-area: zmaz; width: 48px; height: 48px; border: 1px solid var(--okraj); border-radius: 10px; background: transparent;
  color: var(--tlmene); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.v2-ak-zmaz:hover, .v2-ak-zmaz:focus-visible { color: #ff6b6b; border-color: #ff6b6b; }
.v2-ak-jeden .v2-ak-riadok { grid-template-columns: 1fr; grid-template-areas: "pole" "typ"; }
.v2-ak-jeden .v2-ak-zmaz { display: none; }
.v2-ak-typ { grid-area: typ; justify-self: start; font-size: .76rem; font-weight: 600; letter-spacing: .02em; padding: 1px 9px; border-radius: 99px; }
.v2-ak-typ:empty { display: none; }
.v2-ak-domena, .v2-ak-subdomena, .v2-ak-ip { color: var(--akcent); background: rgba(47,212,196,.12); }
.v2-ak-subdomena { color: #8fb8ff; background: rgba(143,184,255,.12); }
.v2-ak-ip { color: #f5c26b; background: rgba(245,194,107,.12); }
.v2-ak-zla { color: #ff6b6b; background: rgba(255,107,107,.12); }
.v2-ak-dup { color: var(--tlmene); background: rgba(138,153,173,.12); }
.v2-ak-plus { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 60px; margin-top: 12px; padding: 10px 16px;
  font: inherit; font-size: 1.05rem; font-weight: 700; color: var(--akcent); background: rgba(47,212,196,.08);
  border: 2px dashed var(--akcent); border-radius: 12px; cursor: pointer; transition: background .15s; }
.v2-ak-plus:hover, .v2-ak-plus:focus-visible { background: rgba(47,212,196,.18); }
.v2-ak-plus:disabled { opacity: .45; cursor: not-allowed; }
.v2-ak-plus-znak { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%;
  background: var(--akcent); color: var(--bg); font-size: 1.6rem; line-height: 1; font-weight: 700; }
.v2-ak-suhrn { color: var(--tlmene); font-size: .88rem; margin: 10px 0 0; }

/* PHP2Shell (31. 10. 2026): pás pod hero na úvodnej stránke a kontrola na /php2shell/. */
.v2-php-pas-obal { padding-top: 20px; }
.v2-php-pas { display: flex; align-items: center; gap: 12px; padding: 14px 18px; min-height: 56px; border: 1px solid rgba(47,212,196,.45);
  background: rgba(47,212,196,.08); border-radius: 12px; color: var(--text); text-decoration: none; font-weight: 600; line-height: 1.35; }
.v2-php-pas:hover { border-color: var(--akcent); background: rgba(47,212,196,.14); }
.v2-php-pas:focus-visible { outline: 2px solid var(--akcent); outline-offset: 2px; }
.v2-php-stitok { flex: none; font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; padding: 3px 8px; border-radius: 6px;
  background: var(--akcent); color: #04201d; letter-spacing: .02em; }
.v2-php-text { flex: 1; min-width: 0; }
.v2-php-sipka { flex: none; color: var(--akcent); font-size: 1.2rem; }
.v2-php-main .sekcia-hlava p:last-child { color: var(--tlmene); }
.v2-php-form { margin-top: 28px; }
.v2-php-riadok { display: flex; gap: 10px; flex-wrap: wrap; }
.v2-php-riadok input { flex: 1 1 14rem; min-width: 0; }
.v2-php-riadok .tl { flex: none; }
.v2-php-vysledok { margin-top: 20px; padding: 20px; border-radius: 14px; border: 1px solid var(--okraj); background: var(--bg-2); border-left-width: 4px; }
.v2-php-vysledok h2 { font-size: 1.15rem; line-height: 1.35; margin-bottom: 8px; }
.v2-php-vysledok > p { color: var(--tlmene); }
.v2-php-ok { border-left-color: var(--akcent); }
.v2-php-pod, .v2-php-stara { border-left-color: var(--zlta); }
.v2-php-ziadna, .v2-php-ina, .v2-php-nedostupny, .v2-php-spusta { border-left-color: var(--tlmene); }
.v2-php-spusta > p { color: var(--text); }
.v2-php-udaje { display: grid; grid-template-columns: minmax(8rem, auto) 1fr; gap: 6px 14px; margin: 16px 0 0; font-size: .9rem; }
.v2-php-udaje dt { color: var(--tlmene); }
.v2-php-udaje dd { margin: 0; font-family: "IBM Plex Mono", ui-monospace, monospace; overflow-wrap: anywhere; }
.v2-php-ponuka { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--okraj); }
.v2-php-ponuka p { flex: 1 1 14rem; }
.v2-php-info { margin-top: 40px; }
.v2-php-info h2 { font-size: 1.2rem; margin: 28px 0 10px; }
.v2-php-info ul, .v2-php-info ol { padding-left: 1.2rem; display: grid; gap: 8px; }
.v2-php-info p { margin-top: 10px; color: var(--tlmene); }
.v2-php-info code { font-size: .88em; background: var(--bg-3); padding: 1px 5px; border-radius: 4px; }
.v2-php-tab { border-collapse: collapse; margin-top: 4px; min-width: 16rem; }
.v2-php-tab th, .v2-php-tab td { text-align: left; padding: 8px 18px 8px 0; border-bottom: 1px solid var(--okraj); }
.v2-php-tab th { color: var(--tlmene); font-weight: 500; font-size: .85rem; }
.v2-php-zdroje a { white-space: nowrap; }

/* Terminál Guarding verzie 2 (Juraj 31. 10. 2026): kombinácie ukazovateľov, JS verzia2/terminal.js.
   Vyšší terminál, zoznam prilepený ku spodku okna a pri novom riadku plynulo vyjde hore. Výška je pevná,
   takže stránka ani hero neskáču; overflow-anchor: none, aby prehliadač pri zmene riadkov neposúval stránku. */
.g-term { height: 540px; }
@media (min-width: 700px) { .g-term { height: 600px; } }
.g-term-okno { position: relative; flex: 1; min-height: 0; overflow: hidden; overflow-anchor: none; }
.g-term-okno .g-term-log { position: absolute; left: 0; right: 0; bottom: 0; display: block; overflow: visible; transition: transform .38s ease-out; }
.g-term-okno .g-term-log li { animation: tOdkryt .38s ease-out; }
.g-term-log .nf .t-res { color: #7fa6d6; }
.g-term-log .cr .t-res { color: var(--t-inc); }
.g-term-log .t-zn { flex: none; font-weight: 800; font-size: 10.5px; line-height: 1; padding: 3px 5px; border-radius: 4px;
  color: #04070c; background: var(--t-warn); }
.g-term-log .cr .t-zn { background: var(--t-inc); }
.g-term-log .k-sig { background: rgba(255, 138, 31, .13); }
.g-term-log .k-sig.cr { background: rgba(255, 59, 71, .15); }
.g-term-log .k-sig .t-msg { color: var(--t-text); font-weight: 700; }
.g-term-log .kv .t-typ, .g-term-log .ku .t-typ, .g-term-log .kv .t-bodky, .g-term-log .ku .t-bodky,
.g-term-log .kv .t-res, .g-term-log .ku .t-res { display: none; }
.g-term-log .kv, .g-term-log .ku { white-space: normal; }
.g-term-log .kv .t-msg, .g-term-log .ku .t-msg { white-space: normal; overflow: visible; font-weight: 800; }
.g-term-log .kv .t-msg { color: var(--t-accent); letter-spacing: .02em; }
.g-term-log .ku { background: rgba(255, 59, 71, .18); }
.g-term-log .ku .t-msg { color: #ff6b74; }
.g-term-log .k-stare { opacity: .45; box-shadow: none; background: none; }
.g-term-log .k-stare .t-zn { background: #2a3a52; color: var(--t-dim); }
.g-alarm-vec { font-size: 14px; font-weight: 700; margin-bottom: 4px; }
/* Spájanie do 1 udalosti (Juraj 31. 10. 2026 7:52): pravý žliabok riadkov nesie čiary a uzol, je stále rovnaký,
   takže sa pri spájaní nič nepreskladá. Ostatné riadky sa stlmia, signály svietia farbou závažnosti. */
.g-term-okno .g-term-log li { padding-right: 30px; transition: opacity .35s, background-color .35s, box-shadow .35s; }
@media (min-width: 700px) { .g-term-okno .g-term-log li { padding-right: 44px; } }
.g-term-log .t-zn.wa { background: var(--t-warn); }
.g-term-log .t-zn.cr { background: var(--t-inc); }
.g-term.spaja .g-term-log li:not(.k-zive) { opacity: .28; }
.g-term.spaja .g-term-log li.k-sig.k-zive { background: rgba(255, 138, 31, .2); box-shadow: inset 0 0 0 1px rgba(255, 138, 31, .6), inset 3px 0 0 var(--t-warn); }
.g-term.spaja .g-term-log li.k-sig.cr.k-zive { background: rgba(255, 59, 71, .22); box-shadow: inset 0 0 0 1px rgba(255, 59, 71, .65), inset 3px 0 0 var(--t-inc); }
.g-term.spaja .g-term-log li.k-sig.k-zive .t-res { text-shadow: 0 0 8px currentColor; }
.g-term-okno .g-term-log li.k-sig.k-zive { animation: kSvit .7s ease-out; }
.g-term-okno .g-term-log li.ku { animation: kuVyjde .6s cubic-bezier(.2,.8,.3,1); }
.g-term-log .ku .t-zn { margin-right: -4px; }
.g-term-log .ku.k-zive { box-shadow: inset 0 0 0 1px rgba(255, 59, 71, .7), 0 0 18px rgba(255, 59, 71, .25); }
.g-spoj { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; z-index: 2;
  filter: drop-shadow(0 0 3px rgba(255, 90, 60, .55)); transition: opacity .4s; }
.g-spoj.zhasni { opacity: 0; }
.g-spoj-c { fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1;
  transition: stroke-dashoffset .8s cubic-bezier(.6,0,.3,1); }
.g-spoj.kresli .g-spoj-c { stroke-dashoffset: 0; }
.g-spoj-c.wa { stroke: var(--t-warn); } .g-spoj-c.cr { stroke: var(--t-inc); }
.g-spoj-b { opacity: 0; transition: opacity .3s; } .g-spoj.kresli .g-spoj-b { opacity: 1; }
.g-spoj-b.wa { fill: var(--t-warn); } .g-spoj-b.cr { fill: var(--t-inc); }
.g-uzol, .g-uzol-vlna { transform-box: fill-box; transform-origin: center; }
.g-uzol { fill: var(--t-inc); stroke: #fff; stroke-width: 1.5; transform: scale(0); }
.g-spoj.uzol .g-uzol { animation: uzolPop .5s cubic-bezier(.3,1.6,.5,1) forwards, uzolTep 1.2s ease-in-out .5s infinite; }
.g-uzol-vlna { fill: none; stroke: var(--t-inc); stroke-width: 2; opacity: 0; }
.g-spoj.uzol .g-uzol-vlna { animation: uzolVlna 1s ease-out 2; }
.g-spoj.uzol .g-uzol-vlna.druha { animation-delay: .35s; }
@keyframes kSvit { 0% { background-color: rgba(255, 220, 120, .45); } 100% { } }
@keyframes kuVyjde { from { clip-path: inset(0 0 0 100%); background-color: rgba(255, 59, 71, .5); } to { clip-path: inset(0 0 0 0); } }
@keyframes uzolPop { 0% { transform: scale(0); } 100% { transform: scale(1); } }
@keyframes uzolTep { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.3); } }
@keyframes uzolVlna { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(4.5); opacity: 0; } }
.g-alarm-kombo { margin: 0 0 12px; color: var(--t-accent); font-size: 11.5px; font-weight: 700; }
@keyframes tOdkryt { from { opacity: 0; } to { opacity: 1; } }
.g-term.bez-pohybu .g-term-log, .g-term.bez-pohybu .g-term-log li, .g-term.bez-pohybu .g-term-log li.k-sig.k-zive, .g-term.bez-pohybu .g-term-log li.ku { transition: none; animation: none; }
.g-term.bez-pohybu .g-spoj { display: none; }
@media (prefers-reduced-motion: reduce) {
  .g-term-okno .g-term-log, .g-term-okno .g-term-log li, .g-term-okno .g-term-log li.k-sig.k-zive, .g-term-okno .g-term-log li.ku { transition: none; animation: none; }
  .g-spoj { display: none; }
}

/* Porovnanie antivírus a EDR/XDR verzus Guarding (31. 10. 2026), sekcia #porovnanie.
   Počítač: 3 stĺpce. Mobil: popis cez celý riadok, pod ním 2 stĺpce vedľa seba. */
.v2-por-obal { max-width: 980px; margin: 0 auto; background: var(--bg-3); border: 1px solid var(--okraj); border-radius: 14px; overflow: hidden; }
.v2-por { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .93rem; line-height: 1.45; }
.v2-por th, .v2-por td { text-align: left; vertical-align: top; padding: 14px 16px; border-top: 1px solid var(--okraj); }
.v2-por thead th, .v2-por thead td { border-top: 0; font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--tlmene); }
.v2-por thead th.v2-por-g { color: var(--akcent); }
.v2-por tbody th { color: #fff; font-weight: 600; width: 22%; }
.v2-por td { color: var(--tlmene); width: 39%; }
.v2-por td.v2-por-g { color: var(--text); background: rgba(47,212,196,.06); }
.v2-por thead th.v2-por-g { background: rgba(47,212,196,.06); }
.v2-por-pozn { max-width: 980px; margin: 14px auto 0; color: var(--tlmene); font-size: .85rem; text-align: center; }
@media (max-width: 700px) {
  .v2-por, .v2-por thead, .v2-por tbody { display: block; }
  .v2-por tr { display: grid; grid-template-columns: 1fr 1fr; }
  .v2-por thead td { display: none; }
  .v2-por thead th { padding: 12px; }
  .v2-por tbody th { grid-column: 1 / -1; width: auto; padding: 12px 12px 4px; }
  .v2-por td { width: auto; padding: 4px 12px 12px; border-top: 0; font-size: .88rem; overflow-wrap: anywhere; hyphens: auto; }
  .v2-por td.v2-por-g { background: rgba(47,212,196,.06); }
  .v2-por tbody th { border-top: 1px solid var(--okraj); }
}
.v2-por thead td { width: 22%; }
.v2-por thead th { width: 39%; }
.v2-por-pozn a { color: var(--akcent); }
@media (max-width: 700px) { .v2-por thead th, .v2-por thead td { width: auto; } }

/* Tabuľka porovnania zjednodušená (31. 10. 2026 popoludní): Guarding 1. stĺpec, zoznamy s odklikom, veľké PC. */
.v2-por td { color: var(--tlmene); }
.v2-por td.v2-por-g { color: var(--text); }
.v2-por-z { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.v2-por-z + .v2-por-z { margin-top: 5px; }
.v2-por-z li { position: relative; padding-left: 14px; }
.v2-por-z li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--okraj); }
.v2-por-g .v2-por-z li::before { background: var(--akcent); }
.v2-por-z[hidden] { display: none; }
.v2-por-viac { display: inline-flex; align-items: center; min-height: 44px; margin-top: 6px; padding: 6px 14px; border-radius: 999px;
  border: 1px solid var(--okraj); background: transparent; color: var(--tlmene); font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; }
.v2-por-g .v2-por-viac { border-color: rgba(47,212,196,.45); color: var(--akcent); }
.v2-por-viac:hover { border-color: var(--akcent); }
.v2-por-viac:focus-visible { outline: 2px solid var(--akcent); outline-offset: 2px; }
.v2-por-velke { font-size: 1.7em; font-weight: 800; line-height: 1.05; color: #fff; letter-spacing: .02em; vertical-align: -.08em; }
.v2-por-g .v2-por-velke { color: var(--akcent); }
/* Menší text za veľkým slovom (NA INTERNETE, .EXE) a pod ním (NIČ), Juraj 31. 10. 2026 13:56. */
.v2-por-mensie { font-size: .88em; }
.v2-por-pod { display: block; margin-top: 6px; font-size: .88em; }
@media (max-width: 700px) { .v2-por-velke { font-size: 1.35em; } }
@media (max-width: 700px) {
  .v2-por-z { gap: 6px; }
  .v2-por-viac { width: 100%; justify-content: center; padding: 6px 8px; font-size: .82rem; }
}

/* Guarding VS Antivirus (Juraj 31. 10. 2026 13:56): VS výrazne väčšie než slová, stále decentné: bez obrysu a žiary, len tichý strieborný lesk. */
.sekcia-hlava .v2-vs { display: flex; align-items: baseline; justify-content: center; gap: clamp(8px, 2.4vw, 16px);
  margin: 0 0 18px; color: var(--text); font-weight: 800; font-size: clamp(1.1rem, 4.6vw, 2rem); line-height: 1.1; letter-spacing: .01em; }
.v2-vs-g { color: var(--akcent); }
.v2-vs-a { color: var(--tlmene); }
.v2-vs-vs { display: inline-block; font-size: 1.6em; font-weight: 800; letter-spacing: .06em; line-height: 1;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.55) 50%, transparent 60%) 160% 0 / 250% 100% no-repeat,
              linear-gradient(180deg, #e3edef 0%, #9aaeb3 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
  animation: v2-vs-lesk 7s ease-in-out infinite; }
@keyframes v2-vs-lesk { 0% { background-position: 160% 0, 0 0; } 40%, 100% { background-position: -60% 0, 0 0; } }
@media (prefers-reduced-motion: reduce) { .v2-vs-vs { animation: none; background-position: -60% 0, 0 0; } }

/* Čo strážime (Juraj 31. 10. 2026 13:56): v oblasti 8 položiek, zvyšok vysunie obrysové tlačidlo so šípkou.
   Položky sú v HTML stále (vyhľadávače), len zasunuté. Vysúvanie cez grid-template-rows 0fr → 1fr. */
.v2-oblast-viac { display: grid; grid-template-rows: 0fr; visibility: hidden;
  transition: grid-template-rows .45s ease, visibility 0s linear .45s; }
.v2-oblast-viac > div { overflow: hidden; min-height: 0; }
.v2-oblast-viac.otvorene { grid-template-rows: 1fr; visibility: visible; transition: grid-template-rows .45s ease, visibility 0s; }
.v2-oblast-tl { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 44px; margin: 10px 0 6px;
  padding: 8px 16px; border-radius: 999px; border: 1px solid rgba(47,212,196,.45); background: transparent; color: var(--akcent);
  font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; }
.v2-oblast-tl:hover { border-color: var(--akcent); background: rgba(47,212,196,.06); }
.v2-oblast-tl:focus-visible { outline: 2px solid var(--akcent); outline-offset: 2px; }
.v2-oblast-tl svg { transition: transform .3s ease; }
.v2-oblast-tl[aria-expanded="true"] svg { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .v2-oblast-viac, .v2-oblast-viac.otvorene, .v2-oblast-tl svg { transition: none; } }
