/* ===== Europa, primárny korporátny font (dizajn manuál, self-hosted) ===== */
@font-face{font-family:'Europa';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/europa-300.woff2) format('woff2');}
@font-face{font-family:'Europa';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/europa-400.woff2) format('woff2');}
@font-face{font-family:'Europa';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/europa-400i.woff2) format('woff2');}
@font-face{font-family:'Europa';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/europa-700.woff2) format('woff2');}

/* ===== Simplea Žilina, dizajnové premenné (paleta ostrého webu) ===== */
:root{
  --ty:#00abbd; --ty-tmava:#015f6d; --deep:#014653; --ty-svetla:#94d3dd; --ty-blada:#d5e9ec;
  --ink:#232F3A; --pozadie:#f4fbfc; --seda:#EDF2F7; --biela:#ffffff; --energia:#fc7c71; --zlata:#F5B301; --serious:#002d3E; --calm:#aae3d4; --support:#808080; --modra:#002d3E;
  /* Jeden font na celom webe. Nadpisy mali do 15. 9. 2026 Barlow Condensed,
     čo bol viditeľne iný rez než Europa v texte. Premenná ostáva, aby sa dala
     typografia nadpisov meniť na jednom mieste. */
  --nadpisy:'Europa', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --telo:'Europa', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  /* Ikony ako CSS masky (obarvia sa currentColor, žiadne emoji).
     POZOR: každá použitá var(--ikona-*) musí byť definovaná tu, inak nedefinovaná
     premenná ticho zneplatní celé pravidlo. */
  --ikona-navigacia:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.43 2.57a1.2 1.2 0 0 0-1.29-.27L3.2 8.9a1.2 1.2 0 0 0 .07 2.25l7.02 2.2 2.2 7.02a1.2 1.2 0 0 0 2.25.07l6.6-16.94a1.2 1.2 0 0 0-.26-1.29 1.2 1.2 0 0 0-.65-.24Z'/%3E%3C/svg%3E");
  --ikona-auto:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.6 11l1.2-3.6A2.4 2.4 0 0 1 9.08 5.8h5.84a2.4 2.4 0 0 1 2.28 1.6L18.4 11h.6a2 2 0 0 1 2 2v3.6a1.4 1.4 0 0 1-1.4 1.4H18.6v.6a1.6 1.6 0 0 1-3.2 0V18H8.6v.6a1.6 1.6 0 0 1-3.2 0V18H4.4A1.4 1.4 0 0 1 3 16.6V13a2 2 0 0 1 2-2h.6Zm1.9 0h9l-.94-2.82a.8.8 0 0 0-.76-.58H9.2a.8.8 0 0 0-.76.58L7.5 11Zm-.9 3.2a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Zm10.8 0a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Z'/%3E%3C/svg%3E");
  --ikona-zvuk-off:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 4.7v14.6a.9.9 0 0 1-1.48.69L5.6 16.6H3.4A1.4 1.4 0 0 1 2 15.2V8.8a1.4 1.4 0 0 1 1.4-1.4h2.2l3.92-3.39A.9.9 0 0 1 11 4.7Zm3.55 3.3 1.4 1.4 1.4-1.4 1.4 1.4-1.4 1.4 1.4 1.4-1.4 1.4-1.4-1.4-1.4 1.4-1.4-1.4 1.4-1.4-1.4-1.4 1.4-1.4Z'/%3E%3C/svg%3E");
  --ikona-zamok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a5 5 0 0 1 5 5v2h.6A2.4 2.4 0 0 1 20 11.4v7.2a2.4 2.4 0 0 1-2.4 2.4H6.4A2.4 2.4 0 0 1 4 18.6v-7.2A2.4 2.4 0 0 1 6.4 9H7V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v2h6V7a3 3 0 0 0-3-3Zm0 9a1.8 1.8 0 0 0-.9 3.36V17.4a.9.9 0 0 0 1.8 0v-1.04A1.8 1.8 0 0 0 12 13Z'/%3E%3C/svg%3E");
  --ikona-zvuk-on:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 4.7v14.6a.9.9 0 0 1-1.48.69L5.6 16.6H3.4A1.4 1.4 0 0 1 2 15.2V8.8a1.4 1.4 0 0 1 1.4-1.4h2.2l3.92-3.39A.9.9 0 0 1 11 4.7Zm3.3 2.1a.9.9 0 0 1 1.27.06 7.4 7.4 0 0 1 0 10.28.9.9 0 0 1-1.33-1.22 5.6 5.6 0 0 0 0-7.84.9.9 0 0 1 .06-1.28Zm.32 3.03a.9.9 0 0 1 1.24.1 3.6 3.6 0 0 1 0 4.14.9.9 0 0 1-1.42-1.1 1.8 1.8 0 0 0 0-1.94.9.9 0 0 1 .18-1.2Z'/%3E%3C/svg%3E");
  --ikona-oko:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c-5 0-9.27 3.11-11 7 1.73 3.89 6 7 11 7s9.27-3.11 11-7c-1.73-3.89-6-7-11-7Zm0 11.5A4.5 4.5 0 1 1 16.5 12 4.5 4.5 0 0 1 12 16.5Zm0-7A2.5 2.5 0 1 0 14.5 12 2.5 2.5 0 0 0 12 9.5Z'/%3E%3C/svg%3E");
  --ikona-oko-skryte:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.1 3.51 3.51 2.1l18.39 18.39-1.41 1.41-3.2-3.2A12.2 12.2 0 0 1 12 19c-5 0-9.27-3.11-11-7a12.3 12.3 0 0 1 4.3-5.19Zm5.2 5.2A4.5 4.5 0 0 0 12 16.5a4.4 4.4 0 0 0 1.62-.31l-1.6-1.6A2.5 2.5 0 0 1 9.4 12.1ZM12 5c5 0 9.27 3.11 11 7a12.4 12.4 0 0 1-3.3 4.28l-3.2-3.2A4.5 4.5 0 0 0 10.9 7.4L8.6 5.1A12.3 12.3 0 0 1 12 5Z'/%3E%3C/svg%3E");
}
*{margin:0; padding:0; box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:92px;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
body{font-family:var(--telo); color:var(--ink); background:var(--biela); line-height:1.6; font-size:17px;}
img{max-width:100%; height:auto; display:block;}
a{color:var(--ty-tmava);}
h1,h2,h3{font-family:var(--nadpisy); line-height:1.1; color:var(--ink);}
h2{font-size:clamp(25px,3.2vw,36px); font-weight:700; text-transform:uppercase; letter-spacing:.01em;}
h3{font-size:21px; font-weight:700;}
section{padding:72px 20px;}
.sekcia-hlava{max-width:760px; margin:0 auto 44px; text-align:center;}
.sekcia-hlava p{color:#3d565b; margin-top:10px; font-size:18px;}

/* ===== Hlavička ===== */
.hlavicka{position:sticky; top:0; z-index:100; background:rgba(255,255,255,.97); backdrop-filter:blur(8px); box-shadow:0 1px 0 rgba(0,17,19,.07);}
.hlavicka-vnutro{max-width:1320px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:13px 24px; gap:24px;}
.logo img{width:170px; height:auto;}
.navigacia{display:flex; align-items:center; gap:22px;}
.navigacia a{text-decoration:none; color:var(--ink); font-weight:600; font-size:17px; white-space:nowrap;}
.navigacia a:hover{color:var(--ty);}
/* Tmavší odtieň tyrkysu (#007886) je kvôli kontrastu: biely text na základnej
   #00ABBD má pomer 2,5:1 a pri bežnej veľkosti písma nespĺňa prístupnosť.
   Je to tá istá farba, ktorú web používa pre tyrkysový text na bielej. */
.cta-tlacidlo{background:#007886; color:var(--biela) !important; padding:13px 30px; border-radius:10px;
  font-size:17px; box-shadow:0 6px 16px rgba(0,120,134,.3);}
.cta-tlacidlo:hover{background:var(--ty-tmava);}
.video-filter.je-aktivny{background:#007886 !important; border-color:#007886 !important;}
.hamburger{display:none; background:none; border:0; cursor:pointer; padding:8px;}
.hamburger span{display:block; width:26px; height:3px; background:var(--ink); margin:5px 0; border-radius:2px; transition:.25s;}

/* ===== Hero ===== */
.hero{background:var(--ty); color:var(--biela); padding:0 20px; position:relative; overflow:hidden;}
.hero::after{content:''; position:absolute; right:-60px; top:-60px; width:340px; height:340px; opacity:.35;
  background-image:radial-gradient(rgba(255,255,255,.5) 2.5px, transparent 2.5px); background-size:22px 22px; border-radius:50%;}
.hero-vnutro{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:end; position:relative; z-index:1;}
.hero-text{padding:72px 0;}
.hero-obrazok{align-self:end; display:flex; align-items:flex-end; height:100%; position:relative;}
.nadtitulok{text-transform:uppercase; letter-spacing:.14em; font-size:13px; font-weight:700; color:var(--ty-blada); margin-bottom:14px;}
.hero h1{color:var(--biela); font-size:clamp(31px,4.3vw,53px); font-weight:700; text-transform:uppercase;}
.hero h1 .zvyraznene{color:var(--ink);}
.hero-podtext{margin:18px 0 28px; font-size:19px; max-width:54ch; color:#eafcfe;}
.hero-tlacidla{display:flex; gap:14px; flex-wrap:wrap;}
.tlacidlo-plne{display:inline-block; background:var(--ink); color:var(--biela); text-decoration:none; font-weight:700; padding:14px 28px; border-radius:8px;}
.tlacidlo-plne:hover{background:var(--ty-tmava); color:var(--biela);}
.tlacidlo-obrys{display:inline-block; border:2px solid currentColor; color:inherit; text-decoration:none; font-weight:700; padding:12px 26px; border-radius:8px;}
.hero .tlacidlo-obrys{color:var(--biela);}
.hero-obrazok img{margin:0 auto; display:block; max-width:440px; width:100%; height:auto; filter:drop-shadow(0 18px 40px rgba(0,17,19,.25));}

/* ===== Pás dôvery ===== */
.dovera{background:var(--pozadie); padding:56px 20px;}
.dovera-vnutro{max-width:1150px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.dovera-bublina{background:var(--biela); border-radius:18px; padding:26px 20px; text-align:center; box-shadow:0 8px 28px rgba(1,95,109,.10);}
.cislo,.cislo-plus{font-family:var(--nadpisy); font-weight:700; font-size:42px; color:var(--ty); line-height:1;}
.dovera-bublina p{margin-top:8px; color:#3d565b; font-size:15px;}
.dovera-bublina p img{display:inline-block; vertical-align:middle;}
.ocenenie .trofej{font-size:44px; line-height:1.2; display:block;}
.ocenenie .trofej-img{width:72px; height:72px; margin:0 auto 2px;}
.ocenenie strong{color:var(--ink);}

/* 3D ikony sú 500×285 px s priehľadnými okrajmi, v štvorcových boxoch ich nikdy nedeformovať */
img[src*="/3d/"]{object-fit:contain;}

/* ===== Služby ===== */
.sluzby{background:var(--biela);}
.sluzby-mriezka{max-width:1150px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.sluzba-karta{background:var(--pozadie); border:1px solid var(--ty-blada); border-radius:18px; padding:28px; transition:transform .25s, box-shadow .25s;}
.sluzba-karta:hover{transform:translateY(-4px); box-shadow:0 14px 34px rgba(1,95,109,.14);}
.sluzba-karta img{width:56px; height:56px; margin-bottom:14px;}
.sluzba-karta img.sluzba-ikona-3d{width:88px; height:88px;}
.sluzba-karta p{color:#3d565b; font-size:15.5px; margin-top:8px;}

/* Úvodné video na rozcestníku služieb */
.sluzby-video{padding:8px 24px 64px; background:var(--biela);}
.sluzby-video-titul{text-align:center; font-size:24px; margin-bottom:18px;}
/* okno videa zväčšené zo 720 na 980 px (20. 9. 2026), na oboch stránkach je to ten istý prvok */
.sluzby-video-ram{max-width:980px; margin:0 auto;}
/* Pomer drží OBAL, nie <video>: Safari na video elemente CSS aspect-ratio ignoruje,
   box vychádzal 4:3 a object-fit:contain dokresľoval čierne pruhy. */
.sluzby-video-pomer{position:relative; aspect-ratio:16/9; border-radius:18px; overflow:hidden; box-shadow:0 16px 40px rgba(1,95,109,.16); background:#000;}
.sluzby-video-prehravac{position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover;}
.sluzby-video-ram figcaption{text-align:center; color:#6b8288; font-size:14px; margin-top:12px;}
/* Tlačidlo zvuku: prehliadač spustí zvuk sám len po interakcii návštevníka */
.sluzby-video-zvuk{position:absolute; right:12px; top:12px; display:inline-flex; align-items:center; gap:7px;
  border:0; border-radius:99px; padding:8px 14px; cursor:pointer; font:inherit; font-size:13.5px; font-weight:600;
  background:rgba(255,255,255,.92); color:var(--ty-tmava); box-shadow:0 4px 14px rgba(0,0,0,.18); transition:background .2s, transform .2s;}
.sluzby-video-zvuk[hidden]{display:none;}
.sluzby-video-zvuk:hover{background:#fff; transform:translateY(-1px);}
.ikona-zvuk{width:16px; height:16px; flex:0 0 16px; background:currentColor;
  -webkit-mask:var(--ikona-zvuk-off) center/contain no-repeat; mask:var(--ikona-zvuk-off) center/contain no-repeat;}
.sluzby-video-zvuk.zvuk-zapnuty .ikona-zvuk{-webkit-mask-image:var(--ikona-zvuk-on); mask-image:var(--ikona-zvuk-on);}
@media (max-width:640px){
  .sluzby-video{padding:8px 16px 48px;}
  .sluzby-video-zvuk{right:8px; top:8px; padding:7px 11px; font-size:12.5px;}
}

/* ===== Kalkulačky ===== */
.kalkulacky{background:var(--ty-blada);}
.kalkulacky-mriezka{max-width:1150px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.kalkulacka-dlazdica{background:var(--biela); border-radius:18px; padding:20px; text-align:center; position:relative; box-shadow:0 8px 24px rgba(1,95,109,.10); transition:transform .25s; display:flex; flex-direction:column;}
.kalkulacka-dlazdica:hover{transform:translateY(-4px);}
.kalkulacka-dlazdica img{border-radius:12px; margin-bottom:14px; width:100%; aspect-ratio:3/2; object-fit:cover;}
.kalkulacka-dlazdica h3{margin-top:auto; min-height:2.4em; display:flex; align-items:center; justify-content:center;}
.stitok{position:absolute; top:14px; right:14px; background:var(--energia); color:var(--ink); font-size:12px; font-weight:700; padding:4px 10px; border-radius:99px; text-transform:uppercase; letter-spacing:.05em;}

/* ===== Videoškola ===== */
.videoskola{background:var(--biela);}
.videoskola-mriezka{max-width:1150px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.video-karta{border:1px solid var(--seda); border-radius:18px; overflow:hidden; background:var(--biela);}
.video-nahlad{aspect-ratio:16/9; background:linear-gradient(135deg, var(--ty) 0%, var(--ty-tmava) 100%); display:flex; align-items:center; justify-content:center;}
.play{width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.92); color:var(--ty-tmava); display:flex; align-items:center; justify-content:center; font-size:22px; padding-left:5px;}
.video-karta h3{padding:16px 18px 4px;}
.video-karta p{padding:0 18px 18px; color:#6b8288; font-size:14px;}
.videoskola-cta{text-align:center; margin-top:30px; color:#3d565b;}
.video-prehravac{display:block; width:100%; aspect-ratio:16/9; background:#000; object-fit:contain;}
.video-yt{position:relative; display:block; width:100%; aspect-ratio:16/9; border:0; padding:0; cursor:pointer; background:#000; overflow:hidden;}
/* Náhľad ponechávame taký, aký je na YouTube, teda bez stmavenia. Tlačidlo
   prehrávania má vlastný tieň, aby bolo čitateľné aj na svetlej fotke. */
.video-yt img{width:100%; height:100%; object-fit:cover;}
.video-yt .play{box-shadow:0 4px 18px rgba(0,17,19,.35);}
.video-yt .play{position:absolute; inset:0; margin:auto;}
.video-yt:hover .play{transform:scale(1.15);}
.video-yt-iframe{display:block; width:100%; aspect-ratio:16/9; border:0;}
/* Veľké okno prehrávača: YouTube volí kvalitu podľa veľkosti, v dlaždici púšťal 360p. */
.video-okno{position:fixed; inset:0; z-index:9600; display:flex; align-items:center; justify-content:center;
  padding:56px 20px 24px; background:rgba(0,23,31,.9);}
.video-okno-ram{position:relative; width:min(1600px, 100%, calc((100vh - 90px) * 16 / 9)); aspect-ratio:16/9;
  background:#000; border-radius:14px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.5);}
.video-okno-ram iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.video-okno-zavriet{position:absolute; top:12px; right:16px; width:42px; height:42px; border:0; border-radius:50%;
  cursor:pointer; background:rgba(255,255,255,.14); color:#fff; font-size:18px; line-height:1; transition:background .2s;}
.video-okno-zavriet:hover{background:var(--ty);}
body.video-okno-otvorene{overflow:hidden;}
@media (max-width:700px){ .video-okno{padding:56px 0 24px;} .video-okno-ram{border-radius:0;} }

/* ===== Tím ===== */
.tim{background:var(--pozadie);}
.tim-mriezka{max-width:1150px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.tim-karta{background:var(--biela); border-radius:18px; overflow:hidden; text-align:center; box-shadow:0 8px 24px rgba(1,95,109,.08);}
.tim-foto{aspect-ratio:3/4; width:100%; overflow:hidden; background:linear-gradient(180deg, var(--ty-blada) 0%, var(--pozadie) 100%);}
.tim-foto img,.tim-karta > img{aspect-ratio:3/4; object-fit:cover; object-position:center top; width:100%; height:100%;}
.tim-karta h3{margin:14px 0 2px;}
.tim-karta p{color:#6b8288; font-size:14px; margin-bottom:16px;}
.tim-uvod{max-width:880px; margin:0 auto 40px; text-align:center; color:#3d565b;
  font-size:clamp(18px, 1.5vw, 21px); line-height:1.65;}
.tim-pozicia{color:#007886 !important; font-weight:600; margin-bottom:8px !important;}
.tim-kontakt{margin-bottom:10px !important; line-height:1.6;}
.tim-kontakt a{color:var(--ty-tmava); text-decoration:none;}
.tim-kontakt a:hover{text-decoration:underline;}
.tim-viac{margin:0 16px 18px; text-align:left;}
.tim-viac summary{cursor:pointer; font-weight:700; font-size:13.5px; color:#007886; text-transform:uppercase; letter-spacing:.04em;
  list-style:none; text-align:center; border-top:1px solid var(--ty-blada); padding-top:12px;}
.tim-viac summary::-webkit-details-marker{display:none;}
.tim-viac summary::after{content:" +";}
.tim-viac[open] summary::after{content:" \2212";}
.tim-detail{margin-top:12px; display:grid; gap:8px;}
.tim-detail p{font-size:13.5px; line-height:1.55; margin:0; text-align:left;}
.tim-motto{font-style:italic; color:#007886 !important;}

/* ===== Kariéra ===== */
.kariera{background:var(--ty-tmava); color:var(--biela); text-align:center;}
.kariera h2{color:var(--biela);}
.kariera-vnutro{max-width:760px; margin:0 auto;}
.kariera p{margin:16px 0 26px; color:#d7f0f3; font-size:18px;}

/* ===== Kontakt ===== */
.kontakt{background:var(--biela);}
.kontakt-mriezka{max-width:900px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.kontakt-karta{background:var(--pozadie); border:1px solid var(--ty-blada); border-radius:18px; padding:30px;}
.kontakt-karta h3{margin-bottom:6px;}
.kontakt-karta p{margin-bottom:18px; color:#3d565b;}
.kontakt-velky{font-family:var(--nadpisy); font-size:27px; font-weight:700; color:var(--ty); text-decoration:none;}
.kontakt .tlacidlo-obrys{color:var(--ty-tmava); border-color:var(--ty);}

/* ===== Detailné sekcie služieb ===== */
a.sluzba-karta{display:flex; flex-direction:column; text-decoration:none; color:var(--ink);}
a.sluzba-karta .rozcestnik-sipka{margin-top:auto; padding-top:8px;}
.sluzba-detail{background:var(--biela); scroll-margin-top:86px;}
.sluzba-detail-svetla{background:var(--pozadie);}
.sluzba-detail-vnutro{max-width:820px; margin:0 auto;}
.sluzba-detail-hlava{display:flex; align-items:center; gap:18px; margin-bottom:20px;}
.sluzba-detail-hlava img{flex:none;}
.sluzba-detail-hlava h2{font-size:clamp(28px,3.5vw,38px);}
.sluzba-detail-text{display:grid; gap:12px;}
.sluzba-detail-text h3{font-size:20px; color:var(--ty-tmava); margin-top:10px;}
.sluzba-detail-text p,.sluzba-detail-text li{color:#3d565b; font-size:16px; line-height:1.65;}
.sluzba-detail-text ul{margin:0 0 0 22px; display:grid; gap:8px;}
.sluzba-detail-cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:26px;}
.sluzba-detail-cta .tlacidlo-obrys{color:var(--ty-tmava); border-color:var(--ty);}

/* ===== Partneri (mimo financií) ===== */
.partneri{background:var(--pozadie);}
.partneri-mriezka{max-width:1150px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.partner-karta{background:var(--biela); border:1px solid var(--ty-blada); border-radius:18px; padding:28px; display:flex; flex-direction:column; gap:10px;}
.partner-logo{height:64px; display:flex; align-items:center;}
.partner-logo img{max-height:56px; width:auto; max-width:220px; object-fit:contain;}
.partner-monogram{width:56px; height:56px; border-radius:14px; background:var(--ty); color:var(--biela);
  font-family:var(--nadpisy); font-weight:700; font-size:21px; display:flex; align-items:center; justify-content:center;}
.partner-oblast{font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#007886;}
.partner-karta h2{font-size:24px;}
.partner-popis{color:#3d565b; font-size:15.5px; line-height:1.6; flex:1;}
.partner-karta .tlacidlo-obrys{align-self:flex-start; color:var(--ty-tmava); border-color:var(--ty);}
@media (hover:hover) and (pointer:fine){
  .partner-karta{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
  .partner-karta:hover{transform:translateY(-4px); box-shadow:0 16px 36px rgba(1,95,109,.13); border-color:var(--ty);}
}
@media (max-width:820px){ .partneri-mriezka{grid-template-columns:1fr;} }
/* CTA s formulárom pod partnermi */
.partneri-cta{background:var(--biela);}
.partneri-cta-vnutro{max-width:1000px; margin:0 auto; display:grid; grid-template-columns:1fr 1.1fr; gap:30px;
  background:var(--pozadie); border:1px solid var(--ty-blada); border-radius:18px; padding:34px;}
.partneri-cta-text h2{font-size:clamp(24px,3vw,32px);}
.partneri-cta-text p{color:#3d565b; margin-top:12px;}
.partneri-cta-kontakt a{color:var(--ty-tmava); font-weight:600; text-decoration:none;}
.partneri-form{display:grid; gap:12px; align-content:start;}
.partneri-form select{font:inherit; color:var(--ink); background:var(--biela); border:1px solid #c3dde2;
  border-radius:10px; padding:11px 14px; width:100%;}
.partneri-form .tlacidlo-plne{border:0; cursor:pointer; font:inherit; font-weight:700; justify-self:start;}
@media (max-width:820px){ .partneri-cta-vnutro{grid-template-columns:1fr; padding:26px;} }

/* ===== Blog ===== */
.blog-zoznam{background:var(--pozadie);}
.blog-mriezka{max-width:1150px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.blog-karta{display:flex; flex-direction:column; background:var(--biela); border-radius:18px; overflow:hidden;
  text-decoration:none; color:var(--ink); box-shadow:0 8px 24px rgba(1,95,109,.09);}
/* obálky článkov sú 1200x675, teda 16:9; pri 16:10 by cover orezal okraje,
   kde majú infografiky popisky */
.blog-karta-obrazok{display:block; aspect-ratio:16/9; background:var(--ty-blada); overflow:hidden;}
.blog-karta-obrazok img{width:100%; height:100%; object-fit:cover; display:block;}
.blog-karta-telo{display:flex; flex-direction:column; gap:8px; padding:20px 22px 22px;}
.blog-kategoria{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#007886;}
.blog-karta h2{font-size:21px; line-height:1.2;}
.blog-datum{font-size:13px; color:#6b8288;}
@media (hover:hover) and (pointer:fine){
  .blog-karta{transition:transform .25s ease, box-shadow .25s ease;}
  .blog-karta:hover{transform:translateY(-4px); box-shadow:0 16px 36px rgba(1,95,109,.15);}
}
.blog-strankovanie{max-width:1150px; margin:34px auto 0; text-align:center;}
.blog-strankovanie .nav-links{display:inline-flex; gap:8px; flex-wrap:wrap; justify-content:center;}
.blog-strankovanie .page-numbers{display:inline-block; min-width:42px; padding:9px 14px; border-radius:10px; background:#fff; border:1px solid var(--ty-blada); color:var(--ty-tmava); font-weight:600; text-decoration:none;}
.blog-strankovanie .page-numbers.current{background:var(--ty); border-color:var(--ty); color:var(--biela);}
.blog-strankovanie .screen-reader-text{position:absolute; left:-9999px;}
.blog-vsetky{max-width:1150px; margin:30px auto 0; text-align:center; color:var(--ty-tmava);}
@media (max-width:980px){ .blog-mriezka{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .blog-mriezka{grid-template-columns:1fr;} }
/* prelinky na služby v článku */
.sza-sluzby-prelinky{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:10px 0 6px;}
.sza-sluzba-odkaz{display:flex; align-items:center; gap:14px; text-decoration:none; color:var(--ink);
  background:var(--pozadie); border:1px solid var(--ty-blada); border-radius:14px; padding:14px 16px;}
.sza-sluzba-odkaz img{width:56px; height:56px; object-fit:contain; flex:none;}
.sza-sluzba-odkaz span{display:flex; flex-direction:column; gap:2px; line-height:1.35;}
.sza-sluzba-odkaz strong{font-size:15.5px;}
.sza-sluzba-odkaz em{font-style:normal; font-size:13px; color:#3d565b;}
@media (hover:hover) and (pointer:fine){
  .sza-sluzba-odkaz{transition:transform .2s ease, border-color .2s ease;}
  .sza-sluzba-odkaz:hover{transform:translateY(-3px); border-color:var(--ty);}
}
@media (max-width:640px){ .sza-sluzby-prelinky{grid-template-columns:1fr;} }
/* zdroj (odkaz na mediálny článok) */
.blog-zdroj{background:var(--pozadie); border-left:4px solid var(--ty); border-radius:10px;
  padding:14px 18px; font-size:15px; color:#3d565b;}
.blog-clanok{max-width:760px; margin:0 auto; padding:56px 20px; display:grid; gap:16px;}
.blog-clanok p{color:#3d565b; line-height:1.7;}
.blog-clanok h2,.blog-clanok h3{margin-top:14px;}
.blog-clanok img{border-radius:14px;}
.blog-clanok ul,.blog-clanok ol{margin-left:22px; display:grid; gap:8px; color:#3d565b;}
.blog-spat{margin-top:20px;}
.blog-spat .tlacidlo-obrys{color:var(--ty-tmava); border-color:var(--ty);}

/* ===== Kvíz ===== */
/* Kvíz má vlastnú fotografiu ku každej otázke (assets/img/kviz/, rovnaká
   rodina zátiší ako e-book) a možnosti sú označené písmenami A až D, nech sa
   dá o odpovediach hovoriť aj nahlas. Obrázok je vľavo, otázka vpravo; pod
   900 px ide obrázok nad otázku a je nižší, aby sa odpovede zmestili
   na obrazovku bez rolovania. */
.kviz{background:var(--biela);}
.kviz-uvod,.kviz-okno,.kviz-vysledok{max-width:1040px; margin:0 auto;}
.kviz-uvod{display:grid; grid-template-columns:1.15fr .85fr; gap:38px; align-items:center;}
.kviz-uvod h2{margin-bottom:12px;}
.kviz-uvod p{color:#3d565b; margin-bottom:16px;}
.kviz-benefity{margin:0 0 24px 20px; display:grid; gap:10px; color:#3d565b;}
.kviz-uvod .tlacidlo-plne{border:0; cursor:pointer; font:inherit; font-weight:700;}
.kviz-uvod-obrazok{position:relative;}
.kviz-uvod-obrazok img{width:100%; height:auto; border-radius:20px; display:block;
  box-shadow:0 18px 46px rgba(1,95,109,.18);}
.kviz-uvod-stitok{position:absolute; left:-14px; bottom:22px; background:var(--energia);
  color:var(--ink); font-weight:700; font-size:14px; padding:9px 16px; border-radius:99px;
  box-shadow:0 8px 20px rgba(0,0,0,.14);}

.kviz-postup{height:8px; background:var(--ty-blada); border-radius:99px; overflow:hidden; margin-bottom:22px;}
.kviz-postup span{display:block; height:100%; width:0; background:var(--ty); border-radius:99px; transition:width .3s ease;}
.kviz-telo{display:grid; grid-template-columns:.8fr 1.2fr; gap:34px; align-items:start;}
.kviz-obrazok{border-radius:18px; overflow:hidden; box-shadow:0 14px 34px rgba(1,95,109,.14);
  background:var(--pozadie); aspect-ratio:4/3;}
.kviz-obrazok img{width:100%; height:100%; object-fit:cover; display:block;}
.kviz-krok{font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#007886; margin-bottom:6px;}
.kviz-okno h2{font-size:25px; margin-bottom:20px; line-height:1.25;}
.kviz-moznosti{display:grid; gap:11px;}
.kviz-moznost{font:inherit; text-align:left; background:var(--pozadie); border:2px solid var(--ty-blada);
  border-radius:14px; padding:13px 16px; cursor:pointer; color:var(--ink);
  display:flex; align-items:center; gap:14px;
  transition:border-color .2s, background .2s, transform .12s;}
.kviz-pismeno{flex:0 0 auto; width:32px; height:32px; border-radius:10px; background:var(--biela);
  border:2px solid var(--ty-blada); color:var(--ty-tmava); font-weight:700; font-size:15px;
  display:grid; place-items:center; transition:background .2s, color .2s, border-color .2s;}
.kviz-moznost:hover:not(:disabled){border-color:var(--ty); background:var(--biela); transform:translateX(2px);}
.kviz-moznost:hover:not(:disabled) .kviz-pismeno{background:var(--ty); border-color:var(--ty); color:#fff;}
.kviz-moznost.spravna{border-color:#1e9e6a; background:#e8f7f0;}
.kviz-moznost.spravna .kviz-pismeno{background:#1e9e6a; border-color:#1e9e6a; color:#fff;}
.kviz-moznost.nespravna{border-color:#d64545; background:#fdecec;}
.kviz-moznost.nespravna .kviz-pismeno{background:#d64545; border-color:#d64545; color:#fff;}
.kviz-moznost:disabled{cursor:default;}
.kviz-moznost:disabled:not(.spravna):not(.nespravna){opacity:.6;}

.kviz-vysledok{max-width:760px;}
.kviz-vysledok h2{font-size:34px; color:var(--ty-tmava);}
.kviz-vysledok > p{color:#3d565b; margin:10px 0 26px; font-size:17px;}
.kviz-lead{background:var(--pozadie); border:1px solid var(--ty-blada); border-radius:18px; padding:28px;}
.kviz-lead form{display:grid; gap:14px; margin-top:14px;}
.kviz-lead .tlacidlo-plne{border:0; cursor:pointer; font:inherit; font-weight:700; justify-self:start;}
/* Kvíz sa otvára v stránke ako karta na mieste úvodu (nie cez celú obrazovku,
   to pôsobilo ako cudzia stránka). Pozor na ponaučenie č. 2 projektu:
   `display` prebíja atribút `hidden`, preto má každý prepínaný blok vlastné
   pravidlo [hidden]. */
.kviz-plno{max-width:1080px; margin:0 auto; background:var(--biela); border:1px solid var(--ty-blada);
  border-radius:22px; box-shadow:0 18px 50px rgba(1,95,109,.12); overflow:hidden;}
.kviz-plno[hidden]{display:none !important;}
.kviz-uvod[hidden],.kviz-okno[hidden],.kviz-vysledok[hidden]{display:none !important;}
.kviz-plno-hlava{display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:14px 24px; background:var(--pozadie); border-bottom:1px solid var(--ty-blada);}
.kviz-plno-znacka{font-weight:700; color:var(--ty-tmava); font-size:15px;}
.kviz-zavriet{border:0; cursor:pointer; width:38px; height:38px; border-radius:50%;
  background:var(--biela); color:var(--ink); font-size:16px; line-height:1;
  transition:background .2s, color .2s;}
.kviz-zavriet:hover{background:var(--ty); color:#fff;}
.kviz-plno-vnutro{padding:28px 30px 34px;}
.kviz-znova{display:flex; gap:10px; flex-wrap:wrap; margin-top:22px;}
.kviz-znova .tlacidlo-obrys{border:0; cursor:pointer; font:inherit; font-weight:700;
  color:var(--ty-tmava); border:2px solid var(--ty);}

@media (max-width: 900px){
  .kviz-uvod{grid-template-columns:1fr; gap:26px;}
  .kviz-plno-vnutro{padding:18px 15px 24px;}
  .kviz-plno{border-radius:16px;}
  .kviz-uvod-obrazok{order:-1;}
  .kviz-uvod-stitok{left:12px;}
  .kviz-telo{grid-template-columns:1fr; gap:20px;}
  .kviz-obrazok{aspect-ratio:16/7; max-height:190px;}
  .kviz-okno h2{font-size:22px;}
}
@media (max-width: 560px){
  .kviz-obrazok{aspect-ratio:16/6;}
  .kviz-moznost{padding:11px 13px; gap:11px; font-size:15px;}
  .kviz-pismeno{width:28px; height:28px; font-size:14px; border-radius:9px;}
}

/* ===== Aplikácia ===== */
.apka{background:var(--biela);}
.apka-mriezka{grid-template-columns:repeat(2,1fr); max-width:900px;}
.apka-stiahnutie{text-align:center; margin-top:44px;}
.apka-stiahnutie h2{font-size:28px; margin-bottom:18px;}
.apka-tlacidla{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
@media (max-width:700px){ .apka-mriezka{grid-template-columns:1fr;} }

/* ===== Detail služby (vlastná podstránka + kalkulačka) ===== */
.sluzba-karta{position:relative;}
.sluzba-stitok{display:inline-block; align-self:flex-start; margin-top:6px; background:var(--ty-blada); color:var(--ty-tmava);
  font-size:12px; font-weight:700; padding:4px 10px; border-radius:99px;}
.sluzba-foto{margin:0 0 24px;}
/* height:auto je povinné: obrázok má width/height atribúty (proti poskakovaniu layoutu),
   bez toho by ho width:100% deformovalo. */
.sluzba-foto img{display:block; width:100%; height:auto; border-radius:18px; box-shadow:0 14px 40px rgba(1,95,109,.14);}
.sluzba-kalkulacka{background:var(--biela); padding-bottom:40px;}
.sluzba-kalkulacka .kalkulacky-plocha{max-width:1150px; margin:0 auto; background:var(--pozadie); border-radius:18px; overflow:hidden;}
.sluzba-kalkulacka .kalkulacky-plocha iframe{display:block; width:100%; min-height:900px; border:0;}
.sluzba-cta{background:var(--pozadie);}
.sluzba-cta-blok{max-width:820px; margin:0 auto; background:var(--ty-tmava); color:var(--biela);
  border-radius:18px; padding:40px; text-align:center;}
.sluzba-cta-blok h2{color:var(--biela); font-size:clamp(26px,3.2vw,34px);}
.sluzba-cta-blok p{color:#d7f0f3; margin:10px 0 0;}
.sluzba-cta-tlacidla{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:22px !important;}
.sluzba-cta-blok .tlacidlo-obrys{color:var(--biela); border-color:rgba(255,255,255,.6);}
.sluzba-dalsie{max-width:1000px; margin:44px auto 0; text-align:center;}
.sluzba-dalsie h3{font-size:20px; margin-bottom:16px;}
.sluzba-dalsie-mriezka{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
.sluzba-dalsie-karta{display:flex; flex-direction:column; align-items:center; gap:8px; text-decoration:none;
  background:var(--biela); border:1px solid var(--ty-blada); border-radius:14px; padding:16px 10px;
  color:var(--ink); font-size:13.5px; font-weight:600; line-height:1.3;}
.sluzba-dalsie-karta img{width:48px; height:48px; object-fit:contain;}
@media (hover:hover) and (pointer:fine){
  .sluzba-dalsie-karta{transition:transform .2s ease, border-color .2s ease;}
  .sluzba-dalsie-karta:hover{transform:translateY(-3px); border-color:var(--ty);}
}
@media (max-width:900px){ .sluzba-dalsie-mriezka{grid-template-columns:repeat(2,1fr);} }
/* klikacie štítky špecializácií v Náš tím */
a.tim-tag-odkaz{text-decoration:none;}
@media (hover:hover) and (pointer:fine){
  a.tim-tag-odkaz{transition:background .2s ease, color .2s ease;}
  a.tim-tag-odkaz:hover{background:var(--ty); color:var(--biela);}
}

/* ===== GDPR podstránka ===== */
.gdpr-obsah{background:var(--biela);}
.gdpr-text{max-width:760px; margin:0 auto; display:grid; gap:16px;}
.gdpr-text h2{font-size:26px;}
.gdpr-text p{color:#3d565b;}

/* ===== Kontaktný formulár ===== */
.kontakt-mriezka-form{grid-template-columns:1.35fr 1fr; max-width:1000px; align-items:start;}
.kontakt-stlpec{display:grid; gap:22px;}
.kontakt-karta-formular form{display:grid; gap:14px; margin-top:14px;}
.form-pole{display:grid; gap:6px;}
.form-pole label{font-weight:600; font-size:14px;}
.form-pole select{font:inherit; color:var(--ink); background:var(--biela); cursor:pointer;
  border:1px solid #c3dde2; border-radius:10px; padding:11px 40px 11px 14px; width:100%;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2300ABBD' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 15px center; background-size:12px 8px;}
.form-pole select:focus{outline:2px solid var(--ty); outline-offset:1px; border-color:var(--ty);}
/* Vlastná ochrana pred robotmi, vzhľadom pripomína bežné overenie,
   ale nič sa nenačítava zo služieb tretích strán. */
.form-robot{display:flex; align-items:center; gap:12px; max-width:330px; cursor:pointer;
  background:var(--biela); border:1px solid #d7e3e6; border-radius:10px; padding:11px 14px;
  box-shadow:0 1px 3px rgba(1,95,109,.08); transition:border-color .2s, box-shadow .2s;}
.form-robot:hover{border-color:var(--ty);}
.form-robot input{width:21px; height:21px; accent-color:var(--ty); cursor:pointer; flex:none;}
.form-robot-text{font-size:15px; color:var(--ink);}
.form-robot-znak{margin-left:auto; color:var(--ty); display:flex; align-items:center; flex:none;}
.form-pole input,.form-pole textarea{font:inherit; color:var(--ink); background:var(--biela);
  border:1px solid #c3dde2; border-radius:10px; padding:11px 14px; width:100%;}
.form-pole input:focus,.form-pole textarea:focus{outline:2px solid var(--ty); outline-offset:1px; border-color:var(--ty);}
.form-dvojica{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.form-pasca{position:absolute !important; left:-9999px; height:0; overflow:hidden;}
.form-gdpr{display:flex; align-items:flex-start; gap:10px; font-size:14px; color:#3d565b; cursor:pointer;}
.form-gdpr input{margin-top:3px; accent-color:var(--ty);}
.kontakt-karta-formular .tlacidlo-plne{border:0; cursor:pointer; font:inherit; font-weight:700; justify-self:start;}
.form-stav{font-size:14px; color:#007886; min-height:1.2em; margin:0;}
.form-subor{display:grid; gap:6px;}
.form-subor input[type=file]{font:inherit; font-size:14px; color:#3d565b; background:var(--pozadie);
  border:1px dashed #9ecdd4; border-radius:10px; padding:13px 14px; width:100%; cursor:pointer;}
.form-subor input[type=file]::file-selector-button{font:inherit; font-weight:700; margin-right:12px;
  border:0; border-radius:8px; padding:7px 13px; background:var(--ty); color:#fff; cursor:pointer;}
.form-napoveda{font-size:12.5px; color:#6b8288; margin:0;}
/* Formulár stojí na tmavom páse, ktorý má biely text. Vnútri bielej karty
   by sa popisky polí stratili, preto si farbu nastavuje sama. */
.kariera-formular{display:grid; gap:15px; max-width:660px; margin:22px auto 10px; text-align:left;
  color:var(--ink);
  background:var(--biela); border:1px solid var(--ty-blada); border-radius:18px; padding:26px;
  box-shadow:0 10px 30px rgba(1,95,109,.08);}
.kariera-formular label{color:var(--ink);}
.kariera-formular .form-gdpr, .kariera-formular .form-gdpr span{color:#3d565b;}
.kariera-formular .form-napoveda{color:#6b8288;}
.kariera-formular .form-stav{color:#007886;}
.kariera-formular .tlacidlo-plne{border:0; cursor:pointer; font:inherit; font-weight:700; justify-self:start;}
@media (max-width:640px){ .kariera-formular{padding:18px 15px;} }
.form-podakovanie{font-size:16.5px; line-height:1.6; color:var(--ink);}
@media (max-width: 900px){ .kontakt-mriezka-form{grid-template-columns:1fr;} }
@media (max-width: 560px){ .form-dvojica{grid-template-columns:1fr;} }

/* Obrázky, ktorých rozmer sa mení podľa súboru (logá v pásoch, fotky pobočky,
   náhľady videí), nemôžu mať width a height v HTML. Pomer im preto drží CSS,
   aby po dotiahnutí nepreskakoval obsah. */
.finpart-logo img{height:40px; width:auto; max-width:150px;}
.skupina-logo-chip img{height:30px; width:auto; max-width:140px;}
.partner-logo img{max-height:56px; width:auto;}
.kontakt-foto-pas img{aspect-ratio:3/2; object-fit:cover;}
/* Fotky pobočky sú tlačidlá, aby sa lightbox dal otvoriť aj klávesnicou.
   Tlačidlo nesmie nič dokresliť, vzhľad ostáva ako pri obyčajnom obrázku. */
.kontakt-foto-tlacidlo{border:0; padding:0; margin:0; background:none; cursor:zoom-in;
  display:block; line-height:0; border-radius:14px; overflow:hidden;}
.kontakt-foto-tlacidlo:focus-visible{outline:3px solid var(--ty); outline-offset:3px;}

/* Zdroj pod oceneniami: superlatív má vždy povedať, odkiaľ pochádza. */
.ocenenie-zdroj{display:block; font-size:11.5px; color:#5b7379; font-weight:400; margin-top:3px;}

/* ===== Stránka 404 ===== */
.chyba-404{background:var(--pozadie);}
.chyba-404-vnutro{max-width:860px; margin:0 auto; text-align:center;}
.chyba-404-lead{color:#3d565b; font-size:17px; line-height:1.65; margin-bottom:22px;}
.chyba-404-tlacidla{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:34px;}
.chyba-404-tlacidla .tlacidlo-obrys{color:var(--ty-tmava); border-color:var(--ty);}
.chyba-404-odkazy{list-style:none; margin:0; padding:0; display:grid;
  grid-template-columns:repeat(3,1fr); gap:14px; text-align:left;}
.chyba-404-odkazy a{display:block; background:var(--biela); border-radius:14px; padding:16px 18px;
  box-shadow:0 8px 22px rgba(1,95,109,.08); color:var(--ink); text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;}
.chyba-404-odkazy strong{display:block; color:var(--ty-tmava); margin-bottom:4px;}
.chyba-404-odkazy span{font-size:14px; color:#5b7379;}
@media (hover:hover){ .chyba-404-odkazy a:hover{transform:translateY(-3px); box-shadow:0 14px 30px rgba(1,95,109,.14);} }
@media (max-width:900px){ .chyba-404-odkazy{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .chyba-404-odkazy{grid-template-columns:1fr;} }

/* Odkaz „Preskočiť na obsah" pre klávesnicu a čítačky obrazovky. */
.preskocit{position:absolute; left:-9999px; top:0; z-index:9999; background:var(--ty-tmava);
  color:#fff; padding:12px 18px; border-radius:0 0 10px 0; font-weight:700;}
.preskocit:focus{left:0;}

/* ===== Pätička ===== */
.paticka{background:var(--ink); color:#bfe3e8; font-size:15px;}
.paticka a{color:var(--ty-svetla); text-decoration:none;}
.paticka a:hover{text-decoration:underline;}
.paticka-vnutro{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.5fr .8fr 1.1fr 1.2fr; gap:30px; padding:56px 20px 30px;}
/* Menu sa napĺňa po stĺpcoch, nie po riadkoch. Pri riadkovom poradí zostával
   „Kontakt" sám na poslednom riadku a „Kariéra" vedľa neho pôsobila odtrhnuto. */
.paticka-menu{display:grid; grid-template-rows:repeat(7, auto); grid-auto-flow:column;
  gap:9px 26px; justify-content:start; align-content:start;}
/* Trinásť položiek do siedmich riadkov = dva stĺpce po sedem a šesť. Pri šiestich
   riadkoch vznikol tretí stĺpec s jedinou položkou a tá pôsobila odtrhnuto.
   Dlhšie názvy sa nesmú lámať na dva riadky, inak je stĺpec rozstrapkaný. */
.paticka-menu a{white-space:nowrap;}
/* Bloky v stĺpcoch potrebujú dýchať: nadpis nasledujúci po odstavci mal
   nad sebou rovnakú medzeru ako riadky textu a čítalo sa to ako jeden chuchvalec. */
.paticka-stlpec p{margin-bottom:16px;}
.paticka-stlpec p:last-of-type{margin-bottom:0;}
.paticka-stlpec p + h3{margin-top:26px;}
.paticka-legal{margin-top:6px; font-size:12px; color:#7da4ab; max-width:900px; margin-left:auto; margin-right:auto;}
.paticka-mapa-odkaz{margin:9px 0 0; font-size:13.5px;}
.paticka-logo{filter:brightness(0) invert(1); opacity:.95; margin-bottom:14px; width:140px;}
.paticka h3{color:var(--biela); font-size:18px; margin-bottom:10px;}
.paticka-spodok{border-top:1px solid rgba(255,255,255,.14); text-align:center; padding:18px 20px; font-size:13px; color:#8fb7bd;}

/* ===== Jemné oživenie (rozhodnutie č. 1 = A) ===== */
/* skrýva len s funkčným JS (html.js pridáva inline skript v header.php), bez JS ostáva všetko viditeľné */
html.js .odhal{opacity:0; transform:translateY(22px); transition:opacity .55s ease, transform .55s ease;}
html.js .odhal.videny{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ .odhal{opacity:1; transform:none; transition:none;} }

/* ===== Responzivita ===== */
@media (max-width: 980px){
  .hero-vnutro{grid-template-columns:1fr; text-align:center;}
  /* Na mobile ide text prvý. Keď bol prvý obrázok (order:-1), nadpis H1 začínal
     až na 816. bode a na telefóne nebolo na prvej obrazovke vidieť ani slovo
     z hlavného posolstva, ani jedno tlačidlo. Obrázok je navyše nižší. */
  .hero-obrazok{max-width:420px; margin:0 auto; flex-direction:column; align-items:center;}
  .hero-obrazok img{max-height:260px; width:auto; max-width:100%;}
  .hero-tlacidla{justify-content:center;}
  .hero-podtext{margin-left:auto; margin-right:auto;}
  .dovera-vnutro{grid-template-columns:repeat(2,1fr);}
  .sluzby-mriezka,.kalkulacky-mriezka,.videoskola-mriezka{grid-template-columns:repeat(2,1fr);}
  .tim-mriezka{grid-template-columns:repeat(2,1fr);}
  .paticka-vnutro{grid-template-columns:1fr; text-align:center;}

.paticka-logo{margin:0 auto 14px;}
}
@media (max-width: 640px){
  section{padding:52px 16px;}
  .sluzby-mriezka,.kalkulacky-mriezka,.videoskola-mriezka,.kontakt-mriezka,.dovera-vnutro{grid-template-columns:1fr;}
  .tim-mriezka{grid-template-columns:1fr 1fr;}
}
/* Hamburger od 1100px: menu má 7 položiek (6 + „Viac") a od 15. 9. 2026
   väčšie písmo (17 px), do užšieho okna sa v jednom rade nezmestí. */
@media (max-width: 1100px){
  .navigacia{display:none; position:absolute; top:100%; left:0; right:0; background:var(--biela); flex-direction:column; padding:18px 20px; gap:16px; box-shadow:0 14px 24px rgba(0,17,19,.12);}
  .navigacia.otvorena{display:flex;}
  .hamburger{display:block;}
}


/* ===== Hover efekty (dizajn manuál: tyrkys/yellow; len zariadenia s myšou) ===== */
@media (hover:hover) and (pointer:fine){
  /* navigácia: podčiarknutie sa vysunie */
  .navigacia a:not(.cta-tlacidlo){position:relative;}
  .navigacia a:not(.cta-tlacidlo)::after{content:''; position:absolute; left:0; right:100%; bottom:-6px; height:3px; background:var(--ty); border-radius:2px; transition:right .25s ease;}
  .navigacia a:not(.cta-tlacidlo):hover::after{right:0;}
  .logo{transition:opacity .2s;} .logo:hover{opacity:.8;}

  /* tlačidlá: nadvihnutie + tieň */
  .tlacidlo-plne,.tlacidlo-obrys,.cta-tlacidlo{transition:transform .2s ease, box-shadow .2s ease, background .2s ease;}
  .tlacidlo-plne:hover,.cta-tlacidlo:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,17,19,.22);}
  .tlacidlo-obrys:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,17,19,.15); background:rgba(255,255,255,.12);}
  .kontakt .tlacidlo-obrys:hover{background:var(--ty); color:var(--biela); border-color:var(--ty);}

  /* dlaždice služieb: nadvihnutie + ikona ožije + tyrkysový okraj */
  .sluzba-karta img{transition:transform .3s ease;}
  .sluzba-karta:hover{border-color:var(--ty);}
  .sluzba-karta:hover img{transform:scale(1.12) rotate(-3deg);}

  /* kalkulačky: obrázok sa priblíži, štítok zožltne viac */
  .kalkulacka-dlazdica{overflow:hidden;}
  .kalkulacka-dlazdica img{transition:transform .35s ease;}
  .kalkulacka-dlazdica:hover{box-shadow:0 18px 40px rgba(1,95,109,.18);}
  .kalkulacka-dlazdica:hover img{transform:scale(1.06);}

  /* bubliny dôvery */
  .dovera-bublina{transition:transform .25s ease, box-shadow .25s ease;}
  .dovera-bublina:hover{transform:translateY(-4px); box-shadow:0 16px 36px rgba(1,95,109,.16);}

  /* videoškola: play pulzne, náhľad sa priblíži */
  .video-nahlad{overflow:hidden;}
  .video-nahlad,.play{transition:transform .3s ease;}
  .video-karta{transition:transform .25s ease, box-shadow .25s ease;}
  .video-karta:hover{transform:translateY(-4px); box-shadow:0 16px 36px rgba(1,95,109,.14);}
  .video-karta:hover .play{transform:scale(1.15);}

  /* tím: fotka sa jemne priblíži */
  .tim-karta{transition:transform .25s ease, box-shadow .25s ease;}
  .tim-karta img{transition:transform .4s ease;}
  .tim-karta:hover{transform:translateY(-4px); box-shadow:0 18px 40px rgba(1,95,109,.16);}
  .tim-karta:hover img{transform:scale(1.05);}

  /* kontakt karty + veľké číslo */
  .kontakt-karta{transition:transform .25s ease, box-shadow .25s ease;}
  .kontakt-karta:hover{transform:translateY(-4px); box-shadow:0 14px 32px rgba(1,95,109,.13); border-color:var(--ty);}
  .kontakt-velky{transition:color .2s;} .kontakt-velky:hover{color:var(--ty-tmava);}

  /* pätička odkazy */
  .paticka a{transition:color .2s;} .paticka a:hover{color:var(--biela);}
}
@media (prefers-reduced-motion: reduce){
  .tlacidlo-plne:hover,.cta-tlacidlo:hover,.tlacidlo-obrys:hover,.sluzba-karta:hover img,
  .kalkulacka-dlazdica:hover img,.dovera-bublina:hover,.video-karta:hover,.video-karta:hover .play,
  .tim-karta:hover,.tim-karta:hover img,.kontakt-karta:hover{transform:none;}
}


/* ===== Podstránky ===== */
.podstranka-hlavicka{background:var(--ty); color:var(--biela); text-align:center; padding:56px 20px; position:relative; overflow:hidden;}
.podstranka-hlavicka::after{content:''; position:absolute; right:-50px; top:-50px; width:260px; height:260px; opacity:.35;
  background-image:radial-gradient(rgba(255,255,255,.5) 2.5px, transparent 2.5px); background-size:22px 22px; border-radius:50%;}
.podstranka-hlavicka h1{color:var(--biela); font-family:var(--nadpisy); font-weight:700; text-transform:uppercase; font-size:clamp(27px,3.6vw,42px); position:relative; z-index:1;}
.podstranka-hlavicka p{color:#eafcfe; margin-top:10px; font-size:18px; position:relative; z-index:1;}

/* Kalkulačky, plocha s iframe */
.kalkulacky-plocha{padding:0; background:var(--pozadie);}
.kalkulacky-plocha iframe{display:block; width:100%; min-height:900px; border:0;}

/* Poznámka pod sekciou */
.sekcia-poznamka{text-align:center; margin-top:34px; color:#3d565b;}

/* ===== Rozcestník na úvodnej ===== */
.rozcestnik{background:var(--biela);}
.rozcestnik-mriezka{max-width:1150px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.rozcestnik-karta{position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  background:var(--pozadie); border:1px solid var(--ty-blada); border-radius:18px; padding:26px; text-decoration:none; color:var(--ink);}
.rozcestnik-karta p{color:#3d565b; font-size:15px;}
.rozcestnik-karta img{width:64px; height:64px;}
.rozcestnik-karta .rozcestnik-3d{width:100%; aspect-ratio:3/1.4; object-fit:cover; border-radius:12px;}
.rozcestnik-emoji{font-size:44px; line-height:1;}
.rozcestnik-sipka{margin-top:auto; font-size:22px; color:var(--ty); font-weight:700; transition:transform .2s;}
@media (hover:hover) and (pointer:fine){
  .rozcestnik-karta{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
  .rozcestnik-karta:hover{transform:translateY(-4px); box-shadow:0 16px 36px rgba(1,95,109,.15); border-color:var(--ty);}
  .rozcestnik-karta:hover .rozcestnik-sipka{transform:translateX(6px);}
}

/* ===== Kariéra podstránka ===== */
.kariera-obsah{background:var(--biela); max-width:1000px; margin:0 auto;}
.kariera-stlpce{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
.kariera-blok{background:var(--pozadie); border:1px solid var(--ty-blada); border-radius:18px; padding:30px;}
.kariera-blok h2{font-size:26px; margin-bottom:12px;}
.kariera-kroky{margin:10px 0 0 20px; display:grid; gap:10px;}
.kariera-blok-siroky{margin-bottom:26px;}
.kariera-blok h3{font-size:19px; color:var(--ty-tmava); margin:14px 0 8px;}
.kariera-blok p{color:#3d565b; margin-bottom:10px;}
.kariera-zoznam{margin:6px 0 12px 20px; display:grid; gap:8px; color:#3d565b; font-size:15.5px; line-height:1.55;}
.kariera-pasma{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:14px;}
.kariera-pasmo{background:var(--biela); border:1px solid var(--ty-blada); border-radius:14px; padding:20px;}
.kariera-pasmo h3{margin-top:0;}
.kariera-mzda{font-family:var(--nadpisy); font-size:21px; font-weight:700; color:var(--ty); margin-bottom:8px;}
.kariera-cta-tlacidla{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
@media (max-width:760px){ .kariera-pasma{grid-template-columns:1fr;} }
.kariera-cta-pas{margin-top:26px; background:var(--ty-tmava); color:var(--biela); border-radius:18px; padding:40px; text-align:center;}
.kariera-cta-pas h2{color:var(--biela);}
.kariera-cta-pas p{color:#d7f0f3; margin:10px 0 22px;}

@media (max-width: 980px){
  .rozcestnik-mriezka{grid-template-columns:repeat(2,1fr);}
  .kariera-stlpce{grid-template-columns:1fr;}
  .hero-text{padding:56px 0 48px;}
  .hero-obrazok{height:auto;}
}
@media (max-width: 640px){
  .rozcestnik-mriezka{grid-template-columns:1fr;}
  .kalkulacky-plocha iframe{min-height:760px;}
}


/* ===== Recenzie ===== */
.recenzie{background:var(--pozadie);}
.recenzie-pas{max-width:1080px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.recenzia-karta{background:var(--biela); border-radius:14px; padding:17px 19px; box-shadow:0 6px 18px rgba(1,95,109,.08); display:flex; flex-direction:column; gap:9px; margin:0;}
.recenzia-hlava{display:flex; align-items:center; gap:10px;}
/* Hviezdičky hodnotenia ostávajú zlaté: je to vecný význam (ako zlaté mince), nie firemná farba. */
.hviezda-zlata{color:var(--zlata);}
.recenzia-hviezdy{color:var(--zlata); font-size:15px; letter-spacing:1.5px;}
.recenzia-karta blockquote{margin:0; font-size:14.5px; color:#2c4247; line-height:1.55; flex:1;}
.recenzia-avatar{width:36px; height:36px; border-radius:50%; background:var(--ty); color:var(--biela); font-family:var(--nadpisy); font-weight:700; font-size:15px; display:flex; align-items:center; justify-content:center; flex:none;}
.recenzia-osoba{display:flex; flex-direction:column; line-height:1.3; min-width:0;}
.recenzia-meno{font-weight:600; color:var(--ink); font-size:15px;}
.recenzia-datum{font-size:11.5px; color:#6b8288;}
.recenzia-google{margin-left:auto; flex:none; display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:var(--pozadie); box-shadow:0 2px 8px rgba(1,95,109,.12);}
a.recenzia-google:hover{background:var(--biela); box-shadow:0 4px 14px rgba(1,95,109,.22);}
/* plynulá výmena recenzií (rotácia z main.js) */
.recenzia-karta{transition:opacity .45s ease, transform .45s ease;}
.recenzia-karta.vymiena{opacity:0; transform:translateY(10px) scale(.98);}
.recenzie-cta{text-align:center; margin-top:30px;}
.recenzie-cta .tlacidlo-obrys{color:var(--ty-tmava); border-color:var(--ty);}
@media (hover:hover) and (pointer:fine){
  .recenzia-karta{transition:transform .25s ease, box-shadow .25s ease;}
  .recenzia-karta:hover{transform:translateY(-4px); box-shadow:0 16px 36px rgba(1,95,109,.15);}
}
@media (max-width:980px){ .recenzie-pas{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .recenzie-pas{grid-template-columns:1fr;} }


/* 3D ikony v rozcestníku, jednotná veľkosť */
.rozcestnik-karta img.rozcestnik-3d{width:96px; height:96px; aspect-ratio:auto; object-fit:contain; border-radius:0;}
@media (hover:hover) and (pointer:fine){
  .rozcestnik-karta img.rozcestnik-3d{transition:transform .3s ease;}
  .rozcestnik-karta:hover img.rozcestnik-3d{transform:scale(1.08) rotate(-3deg);}
}


/* ===== Za nami silná skupina ===== */
.skupina{background:linear-gradient(160deg, var(--ty-tmava) 0%, var(--deep) 100%); color:var(--biela);}
.skupina-vnutro{max-width:1150px; margin:0 auto;}
.skupina .sekcia-hlava h2{color:var(--biela); max-width:20ch; margin:0 auto;}
.skupina-eyebrow{color:var(--ty-svetla);}
.skupina-lead{color:#d7f0f3; max-width:64ch; margin:14px auto 0; font-size:18px;}
.skupina-cisla{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:44px 0;}
.skupina-cislo{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:24px 18px; text-align:center;}
.skupina-cislo .cislo,.skupina-cislo .cislo-plus{font-family:var(--nadpisy); font-weight:700; font-size:38px; color:var(--biela); line-height:1;}
.skupina-cislo p{color:#cdeef1; font-size:14px; margin-top:8px;}
.skupina-cislo em{color:var(--ty-svetla); font-style:normal;}
.skupina-svet{text-align:center; margin-top:20px;}
.skupina-svet h3{color:var(--biela); font-size:24px; margin-bottom:22px;}
.skupina-piliere{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.skupina-pilier{background:rgba(255,255,255,.95); border-radius:16px; padding:22px 14px; display:flex; flex-direction:column; align-items:center; gap:12px; color:var(--ink);}
.skupina-pilier img{width:64px; height:64px; object-fit:contain;}
.skupina-pilier span{font-weight:600; font-size:15px; line-height:1.4;}
.skupina-pilier em{color:var(--ty-tmava); font-style:normal; font-weight:400; font-size:13px;}
.skupina-nbs{color:#9fd4db; font-size:13px; margin-top:22px;}
@media (hover:hover) and (pointer:fine){
  .skupina-pilier{transition:transform .25s ease;}
  .skupina-pilier:hover{transform:translateY(-4px);}
  .skupina-cislo{transition:transform .25s ease, background .25s ease;}
  .skupina-cislo:hover{transform:translateY(-4px); background:rgba(255,255,255,.14);}
}

/* ===== Rolujúci pás dcérskych spoločností (v tmavej sekcii skupiny) ===== */
.skupina-svet-pod{color:#9fd4db; font-size:14.5px; margin:-8px 0 0;}
.skupina-loga{overflow:hidden; margin-top:30px;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);}
.skupina-loga-drah{display:flex; width:max-content; animation:sza-loga-beh 46s linear infinite;}
.skupina-loga:hover .skupina-loga-drah{animation-play-state:paused;}
.skupina-loga-sada{display:flex; gap:16px; padding-right:16px;}
.skupina-logo-chip{display:flex; align-items:center; gap:14px; text-decoration:none;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); border-radius:14px;
  padding:14px 20px; min-width:230px;}
.skupina-logo-chip img{height:30px; width:auto; max-width:130px; object-fit:contain;
  filter:brightness(0) invert(1); opacity:.95;}
.skupina-logo-chip .chip-popis{display:flex; flex-direction:column; line-height:1.25;}
.skupina-logo-chip strong{color:var(--biela); font-size:14px; font-weight:600;}
.skupina-logo-chip em{color:#9fd4db; font-style:normal; font-size:12px;}
@keyframes sza-loga-beh{to{transform:translateX(-50%);}}
@media (hover:hover) and (pointer:fine){
  .skupina-logo-chip{transition:background .25s ease, border-color .25s ease, transform .25s ease;}
  .skupina-logo-chip:hover{background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.35); transform:translateY(-2px);}
}
@media (prefers-reduced-motion: reduce){
  .skupina-loga-drah{animation:none; flex-wrap:wrap;}
  .skupina-loga-sada + .skupina-loga-sada{display:none;}
  .skupina-loga{mask-image:none; -webkit-mask-image:none;}
}
.skupina .skupina-nbs{text-align:center; margin-top:26px;}

/* ===== Finanční partneri, rolujúci pás log na svetlom podklade ===== */
.fin-partneri{background:var(--biela); padding-bottom:64px;}
.finpart-pas{overflow:hidden; max-width:1200px; margin:0 auto;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);}
.finpart-drah{display:flex; width:max-content; animation:sza-loga-beh 55s linear infinite;}
.finpart-pas:hover .finpart-drah{animation-play-state:paused;}
.finpart-sada{display:flex; align-items:center; gap:56px; padding-right:56px;}
.finpart-logo{display:flex; align-items:center; justify-content:center; flex:none;}
.finpart-logo img{height:40px; width:auto; max-width:150px; object-fit:contain;
  filter:grayscale(1); opacity:.65; transition:filter .3s ease, opacity .3s ease;}
.finpart-logo:hover img{filter:none; opacity:1;}
@media (hover:none){ .finpart-logo img{filter:none; opacity:.9;} }
@media (prefers-reduced-motion: reduce){
  .finpart-drah{animation:none; flex-wrap:wrap; justify-content:center;}
  .finpart-sada + .finpart-sada{display:none;}
  .finpart-pas{mask-image:none; -webkit-mask-image:none;}
}
@media (max-width:900px){ .skupina-cisla,.skupina-piliere{grid-template-columns:repeat(2,1fr);} }

/* ===== Pätička: mapa + navigácia ===== */
.paticka-mapa{position:relative; display:block; border-radius:14px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,.3);}
.paticka-mapa iframe{display:block;}
/* Vlastný štítok nad pinom. Embed s dopytom centruje výsledok, takže pin je
   v strede rámca; štítok posadíme tesne nad jeho hrot. */
/* Štítok musí byť nad Google pinom, nie na ňom: pin má asi 40 px a jeho hrot
   sedí presne v strede mapy, takže pri odsadení 16 px sa prekrývali. */
.mapa-stitok{position:absolute; left:50%; top:50%; transform:translate(-50%, calc(-100% - 46px));
  background:var(--biela); color:var(--ty-tmava); font-size:12.5px; font-weight:700; line-height:1.2;
  padding:5px 10px; border-radius:8px; white-space:nowrap; box-shadow:0 3px 10px rgba(0,0,0,.28); pointer-events:none;}
.mapa-stitok::after{content:""; position:absolute; left:50%; bottom:-5px; transform:translateX(-50%);
  border-left:5px solid transparent; border-right:5px solid transparent; border-top:5px solid var(--biela);}
.paticka-navigacia{display:flex; flex-direction:column; gap:8px; margin-top:12px;}
.nav-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; font-weight:600; font-size:14px; padding:10px 14px; border-radius:10px; text-align:center;}
.nav-google{background:var(--ty); color:var(--biela) !important;}
.nav-waze{background:#33ccff; color:#0b2b30 !important;}
/* Ikony ako maska, aby prebrali farbu textu tlačidla (namiesto emoji) */
.nav-ikona{width:17px; height:17px; flex:0 0 17px; background:currentColor;}
.nav-ikona-navigacia{-webkit-mask:var(--ikona-navigacia) center/contain no-repeat; mask:var(--ikona-navigacia) center/contain no-repeat;}
.nav-ikona-auto{-webkit-mask:var(--ikona-auto) center/contain no-repeat; mask:var(--ikona-auto) center/contain no-repeat;}
.paticka-skupina{margin-top:12px; font-size:14px; color:#9fd4db;}
.paticka-socialne{display:flex; gap:16px; margin-top:12px;}
@media (hover:hover) and (pointer:fine){
  .nav-btn{transition:transform .2s, box-shadow .2s;}
  .nav-btn:hover{transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,0,0,.25);}
}
@media (max-width:980px){ .paticka-mapa-stlpec{grid-column:1 / -1;} }


/* ===== Oprava čitateľnosti sekcie skupina (špecificita nad .sekcia-hlava p) ===== */
.skupina .sekcia-hlava p{color:#d7f0f3;}
.skupina .sekcia-hlava p.nadtitulok{color:var(--ty-svetla);}
/* Na svetlom pozadí je bledá farba nadtitulku nečitateľná (e-book). */
.ebook .nadtitulok{color:#007886;}
.skupina .skupina-lead strong{color:var(--biela);}

/* ===== Hero badge, „súčasť silnej skupiny" ===== */
.hero-badge{position:absolute; left:-24px; bottom:44px; display:flex; align-items:center; gap:12px;
  background:var(--biela); color:var(--ink); text-decoration:none; border-radius:16px;
  padding:14px 18px; max-width:320px; box-shadow:0 16px 40px rgba(0,17,19,.28);
  transform:rotate(-2deg); animation:badge-vznasanie 4.5s ease-in-out infinite;}
.hero-badge > img{width:44px; height:44px; flex:0 0 auto;}
.hero-badge-text{display:flex; flex-direction:column; gap:2px;}
.hero-badge-text strong{font-size:14px; line-height:1.3; color:var(--ink);}
.hero-badge-text span{font-size:12px; color:#007886; font-weight:600;}
.hero-badge-sipka{font-size:20px; color:var(--ty); flex:0 0 auto;}
@keyframes badge-vznasanie{0%,100%{transform:rotate(-2deg) translateY(0);}50%{transform:rotate(-2deg) translateY(-7px);}}
@media (hover:hover) and (pointer:fine){
  .hero-badge{transition:transform .3s ease, box-shadow .3s ease;}
  .hero-badge:hover{animation-play-state:paused; transform:rotate(0deg) translateY(-4px); box-shadow:0 22px 50px rgba(0,17,19,.34);}
  .hero-badge:hover .hero-badge-sipka{transform:translateX(3px);}
  .hero-badge-sipka{transition:transform .2s ease;}
}
@media (prefers-reduced-motion: reduce){ .hero-badge{animation:none;} }
@media (max-width:980px){
  .hero-badge{position:static; transform:none; margin:16px auto 20px; animation:none;}
}

/* ===== Rozklikávateľné piliere (button reset + „Zistiť viac") ===== */
button.skupina-pilier{border:0; font:inherit; cursor:pointer; text-align:center; -webkit-appearance:none; appearance:none;}
.pilier-nazov{font-weight:600; font-size:15px; line-height:1.4;}
.pilier-nazov em{color:var(--ty-tmava); font-style:normal; font-weight:400; font-size:13px;}
.pilier-viac{font-size:12.5px; font-weight:700; color:#007886; letter-spacing:.04em; text-transform:uppercase;
  border-top:1px solid var(--ty-blada); padding-top:10px; margin-top:2px; width:100%;}
@media (hover:hover) and (pointer:fine){
  .skupina-pilier:hover .pilier-viac{color:var(--ty);}
}

/* ===== Modál pilierov ===== */
.pilier-modal{position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:20px;}
.pilier-modal[hidden]{display:none;}
.pilier-modal-pozadie{position:absolute; inset:0; background:rgba(1,70,83,.55); backdrop-filter:blur(4px);
  opacity:0; transition:opacity .25s ease;}
.pilier-modal-okno{position:relative; background:var(--biela); border-radius:20px; padding:36px 32px 24px;
  max-width:480px; width:100%; max-height:86vh; overflow:auto; text-align:center;
  box-shadow:0 30px 80px rgba(0,17,19,.4); opacity:0; transform:scale(.92) translateY(14px);
  transition:opacity .25s ease, transform .25s cubic-bezier(.2,.9,.3,1.2);}
.pilier-modal.otvoreny .pilier-modal-pozadie{opacity:1;}
.pilier-modal.otvoreny .pilier-modal-okno{opacity:1; transform:scale(1) translateY(0);}
.pilier-modal-zavri{position:absolute; top:12px; right:14px; border:0; background:var(--ty-blada); color:var(--ty-tmava);
  width:36px; height:36px; border-radius:50%; font-size:22px; line-height:1; cursor:pointer;}
.pilier-modal-zavri:hover{background:var(--ty); color:var(--biela);}
.pilier-modal-ikona{width:80px; height:80px; margin:0 auto 10px; display:block;}
.pilier-modal-obsah h3{font-size:26px; color:var(--ink); margin-bottom:4px;}
.pilier-modal-tagline{color:#007886; font-weight:600; font-size:15px; margin-bottom:16px;}
.pilier-modal-obsah ul{list-style:none; text-align:left; display:flex; flex-direction:column; gap:10px; margin:0 0 6px; padding:0;}
.pilier-modal-obsah li{position:relative; padding-left:26px; font-size:15px; line-height:1.5; color:#3d565b;}
.pilier-modal-obsah li::before{content:"✓"; position:absolute; left:0; top:0; color:var(--ty); font-weight:700;}
.pilier-modal-pata{border-top:1px solid var(--ty-blada); margin-top:16px; padding-top:12px; font-size:12.5px; color:#6c8a90;}

/* ===== Dopočítané číslo, jemné „pop" ===== */
.cislo.dopocitane{animation:cislo-pop .35s ease;}
@keyframes cislo-pop{0%{transform:scale(1);}45%{transform:scale(1.12);}100%{transform:scale(1);}}
.cislo{display:inline-block;}

/* Plynulé rolovanie na kotvy (#skupina) */
@media (prefers-reduced-motion: no-preference){ html{scroll-behavior:smooth;} }

/* Mobil: čísla a piliere skupiny do 1 stĺpca (v 2 stĺpcoch sa „329 mil. €" pri 46px lámalo) */
@media (max-width:640px){
  .skupina-cisla{grid-template-columns:1fr;}
  .skupina-piliere{grid-template-columns:1fr;}
}

/* ===== Marquee, pohon CSS animáciou, ovládanie JS-om =====
   Pás beží nepretržite (CSS animácia beží aj v neaktívnej karte, na rozdiel od
   requestAnimationFrame). Na hover sa zastaví, vyfarbí a dá sa ťahať myšou/prstom.
   Posun je vždy o šírku jednej sady (--sza-posun), obsah je vypísaný 2×. */
@keyframes sza-marquee{ from{transform:translate3d(0,0,0);} to{transform:translate3d(calc(-1 * var(--sza-posun, 50%)),0,0);} }
html.js .marquee-drah{animation:sza-marquee 40s linear infinite; will-change:transform;}
html.js .js-marquee:hover .marquee-drah,
html.js .js-marquee.marquee-tahanie .marquee-drah{animation-play-state:paused;}
html.js .js-marquee{overflow:hidden; cursor:grab; touch-action:pan-y;}
html.js .js-marquee.marquee-tahanie{cursor:grabbing;}
html.js .js-marquee .marquee-drah{will-change:transform;}
html.js .js-marquee img,
html.js .js-marquee .skupina-logo-chip{-webkit-user-drag:none; user-select:none; -webkit-user-select:none;}
/* hover kdekoľvek nad pásom vyfarbí všetky logá (nielen to pod kurzorom) */
html.js .finpart-pas:hover .finpart-logo img{filter:none; opacity:1;}

/* ===== Rozbaľovacie „Viac" v menu ===== */
.nav-viac{position:relative;}
.nav-viac-tlacidlo{font:inherit; font-weight:600; font-size:17px; color:var(--ink); background:none; border:0; cursor:pointer; display:flex; align-items:center; gap:5px; padding:0;}
.nav-viac-tlacidlo::after{content:'▾'; font-size:11px; transition:transform .2s ease;}
.nav-viac-tlacidlo:hover{color:var(--ty);}
.nav-viac-menu{position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%); background:var(--biela);
  border-radius:14px; box-shadow:0 18px 44px rgba(0,17,19,.16); padding:10px; display:none; min-width:190px; z-index:120;}
.nav-viac-menu::before{content:''; position:absolute; top:-14px; left:0; right:0; height:14px;}
.nav-viac-menu a{display:block; padding:9px 14px; border-radius:9px;}
.nav-viac-menu a:hover{background:var(--pozadie);}
.nav-viac.otvorene .nav-viac-menu{display:block;}
.nav-viac.otvorene .nav-viac-tlacidlo::after{transform:rotate(180deg);}
@media (hover:hover) and (pointer:fine){
  .nav-viac:hover .nav-viac-menu{display:block;}
  .nav-viac:hover .nav-viac-tlacidlo::after{transform:rotate(180deg);}
  .navigacia .nav-viac-menu a::after{display:none;}
}
/* Mobilné menu: „Viac" je rozbaľovacia podskupina, nie plochý zoznam.
   Predtým sa päť vedľajších stránok vypisovalo rovnako výrazne ako hlavné,
   menu bolo dlhé a hlavné podstránky sa v ňom strácali. Teraz sú zbalené
   a po rozbalení sú menšie a svetlejšie, aby pôsobili ako podkategórie. */
@media (max-width: 1100px){
  .nav-viac{position:static; display:flex; flex-direction:column; align-items:center; gap:10px; width:100%;}
  /* „Viac" je hlavná položka ako ostatné, preto rovnaká veľkosť; menšie sú až rozbalené podpoložky */
  .nav-viac-tlacidlo{display:inline-flex; font-size:17px;}
  .nav-viac-menu{display:none; flex-direction:column; align-items:center; gap:13px; position:static; transform:none;
    box-shadow:none; padding:12px 0 2px; min-width:0; width:100%;
    /* zaoblenie z desktopovej bubliny by z čiary urobilo oblý rámik */
    border-radius:0; border-top:1px solid var(--ty-blada);}
  /* v úzkom okne na počítači by inak stále platilo otváranie na hover
     (.nav-viac:hover .nav-viac-menu má vyššiu špecificitu než .nav-viac-menu) */
  .nav-viac:hover .nav-viac-menu{display:none;}
  .nav-viac.otvorene .nav-viac-menu{display:flex;}
  .nav-viac-menu::before{display:none;}
  .nav-viac-menu a{padding:0; border-radius:0; font-size:13.5px; font-weight:500; color:#5b7379;}
  .nav-viac-menu a:hover{background:none; color:var(--ty);}
}

/* ===== Kontakt: mapa Slovenska na pozadí + pás fotiek pobočky ===== */
.kontakt{position:relative; overflow:hidden;}
/* Mapa je zámerne vidno. Predtým bola celá schovaná za kartami a pri okraji
   okna z nej vytŕčal len kúsok východného Slovenska. Teraz stojí v strede
   pravej polovice a karty sú jemne priesvitné, takže podklad presvitá. */
.kontakt-mapa-pozadie{position:absolute; left:50%; top:-6px; width:min(640px, 46vw); opacity:1; pointer-events:none; z-index:0;}
.kontakt-mriezka-form{position:relative; z-index:1;}
.kontakt .kontakt-karta{background:rgba(244,251,252,.84); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);}
@media (max-width:900px){
  .kontakt-mapa-pozadie{left:auto; right:-18vw; top:0; width:86vw; opacity:.45;}
  /* na mobile sú karty pod sebou cez celú šírku, priesvitnosť by len zhoršila
     čitateľnosť formulára */
  .kontakt .kontakt-karta{background:var(--pozadie); -webkit-backdrop-filter:none; backdrop-filter:none;}
}
.pobocka-fotky{background:var(--pozadie); padding:0 0 64px;}
.pobocka-fotky h2{text-align:center; font-size:26px; margin-bottom:22px;}
.pobocka-pas{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);}
.pobocka-drah{display:flex; width:max-content; animation:sza-loga-beh 70s linear infinite;}
.pobocka-sada{display:flex; gap:14px; padding-right:14px;}
.pobocka-sada img{height:210px; width:auto; aspect-ratio:auto; border-radius:14px; display:block; -webkit-user-drag:none; user-select:none; cursor:zoom-in;}
@media (max-width:640px){ .pobocka-sada img{height:150px;} }

/* Lightbox fotiek pobočky */
.sza-lightbox{position:fixed; inset:0; z-index:1200; background:rgba(8,26,31,.9); display:flex; align-items:center; justify-content:center; padding:48px 72px;}
.sza-lightbox[hidden]{display:none;} /* display prebíja atribút hidden, poistka nutná */
.sza-lightbox img{max-width:100%; max-height:100%; border-radius:14px; box-shadow:0 24px 64px rgba(0,0,0,.5); cursor:zoom-out;}
.sza-lightbox-zavri{position:absolute; top:16px; right:20px; width:48px; height:48px; border:0; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:28px; line-height:1; cursor:pointer; transition:background .2s;}
.sza-lightbox-zavri:hover{background:rgba(255,255,255,.28);}
.sza-lightbox-sipka{position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border:0; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:30px; line-height:1; cursor:pointer; transition:background .2s;}
.sza-lightbox-sipka:hover{background:rgba(255,255,255,.28);}
.sza-lightbox-spat{left:16px;}
.sza-lightbox-dalej{right:16px;}
body.sza-lightbox-otvoreny{overflow:hidden;}
@media (max-width:640px){
  .sza-lightbox{padding:56px 10px;}
  .sza-lightbox-sipka{width:42px; height:42px; font-size:24px;}
  .sza-lightbox-spat{left:8px;}
  .sza-lightbox-dalej{right:8px;}
}

/* ===== Tím: prehľadnejšie medailóniky ===== */
.tim-spolocna-obal{max-width:1150px; margin:0 auto 40px;}
.tim-spolocna-obal img{width:100%; height:auto; border-radius:18px; box-shadow:0 14px 40px rgba(1,95,109,.16);}
.tim-spolocna-obal figcaption{text-align:center; color:#6b8288; font-size:13.5px; margin-top:10px;}
.tim-tagy{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:4px;}
.tim-tag{background:var(--ty-blada); color:var(--ty-tmava); font-size:12px; font-weight:700; padding:4px 10px; border-radius:99px; white-space:nowrap;}
.tim-fakt{text-align:left; display:grid; gap:2px;}
.tim-fakt-nazov{font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#007886;}
.tim-fakt p{margin:0 !important; font-size:13.5px; line-height:1.5; text-align:left;}
.tim-detail{gap:12px !important;}
.tim-motto{border-left:3px solid var(--energia); padding:4px 0 4px 12px; margin:2px 0 0; font-style:italic;
  color:#007886 !important; font-size:13.5px; text-align:left;}

/* Dlhé e-maily (zuzana.ceckova@simplea.sk) sa v úzkej karte nezmestili na riadok
   a .tim-karta{overflow:hidden} ich odseklo. Nechávame ich zalomiť. */
.tim-kontakt{padding:0 10px; overflow-wrap:anywhere;}

/* ===== Náš tím na mobile: čitateľné „Viac o mne" =====
   Karty sú v dvoch stĺpcoch, takže otvorený text mal asi 130 px a lámal sa
   po dvoch slovách. Otvorená karta sa preto roztiahne na celú šírku mriežky
   (triedu dopĺňa main.js pri udalosti toggle) a text je zarovnaný do bloku. */
@media (max-width:640px){
  .tim-karta .tim-kontakt{font-size:13px;}
  .tim-karta-otvorena{grid-column:1 / -1;}
  .tim-karta-otvorena .tim-foto{max-width:250px; margin:0 auto;}
  .tim-viac{margin:0 18px 18px;}
  .tim-detail p,.tim-fakt p{text-align:justify; hyphens:auto; -webkit-hyphens:auto;}
  .tim-detail p{font-size:14px; line-height:1.62;}
  .tim-fakt p{font-size:14px;}
  .tim-motto{font-size:14px;}
}

/* ===== Kariéra: fotky pozícií ===== */
.kariera-pasmo img{width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:10px; margin-bottom:12px; display:block;}
.kariera-timfoto{margin:0 0 26px;}
.kariera-timfoto img{width:100%; border-radius:18px; display:block; box-shadow:0 14px 40px rgba(1,95,109,.14);}

/* ===== Aplikácia: mockupy + badge + CTA ===== */
.apka-hero{display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; max-width:1000px; margin:0 auto 50px;}
.apka-hero img{max-width:100%; height:auto;}
.apka-badge{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:8px;}
/* oficiálne badge: oba vektorové (SVG), rovnaká výška, vždy ostré aj na retine */
.apka-badge img{height:52px; width:auto; display:block;}
@media (hover:hover) and (pointer:fine){
  .apka-badge a{transition:transform .2s ease; display:inline-block;}
  .apka-badge a:hover{transform:translateY(-3px);}
}
.apka-mockupy{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1000px; margin:0 auto 20px;}
.apka-mockupy img{max-width:100%; height:auto;}
.apka-cta{max-width:820px; margin:44px auto 0; background:var(--ty-tmava); color:var(--biela); border-radius:18px; padding:40px; text-align:center;}
.apka-cta h2{color:var(--biela); font-size:clamp(24px,3vw,32px);}
.apka-cta p{color:#d7f0f3; margin:10px 0 22px;}
@media (max-width:820px){ .apka-hero{grid-template-columns:1fr;} .apka-mockupy{grid-template-columns:1fr; max-width:420px;} }

/* ===== Pätička: ikonky sociálnych sietí ===== */
.paticka-socialne a{display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px;
  border-radius:50%; background:rgba(255,255,255,.1);}
.paticka-socialne a svg{width:20px; height:20px; fill:#bfe3e8;}
.paticka-socialne a:hover{background:var(--ty); text-decoration:none;}
.paticka-socialne a:hover svg{fill:#fff;}

/* ===== Scéna „stavia sa dom" na detaile služby (hypotéky) =====
   Obrázok je pripnutý vedľa textu a dostavia sa podľa toho, koľko textu
   návštevník prerolľoval. Premenné --f1 až --f6 nastavuje main.js.
   Záložná hodnota 1 je povinná: bez nej by nedefinovaná premenná zneplatnila
   celé pravidlo a bez JavaScriptu by sa dom vôbec nezobrazil. */
/* POZOR: align-items:start by stĺpec so scénou zmenšil na výšku obsahu a
   position:sticky by nemal kam cestovať (scéna by odrolovala hore hneď).
   Stĺpec preto musí ostať roztiahnutý na celú výšku riadku. */
.sluzba-scena-layout{display:grid; grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr); gap:40px; align-items:stretch;}
.sluzba-scena-obal{margin:0; position:relative; height:100%;}
.sluzba-scena-pin{position:sticky; top:104px;}
.sluzba-scena{background:var(--biela); border-radius:20px; overflow:hidden; box-shadow:0 14px 40px rgba(1,95,109,.13);
  --f1:1; --f2:1; --f3:1; --f4:1; --f5:1; --f6:1;}
.sluzba-scena svg{display:block; width:100%; height:auto;}

/* Fotografie v scéne: tri zábery ležia na sebe a pri rolovaní sa prelínajú.
   Krytie riadia tie isté premenné --f3 a --f5, ktoré nastavuje main.js podľa
   prerolovania, takže kvôli výmene kreslených scén za fotografie sa
   JavaScript nemenil. Záložná hodnota 1 (teda stav bez JavaScriptu alebo pri
   zapnutom „obmedziť pohyb") necháva viditeľný posledný záber, čiže výsledok
   služby. Nedefinovaná premenná by zneplatnila celé pravidlo. */
.sluzba-scena{position:relative; aspect-ratio:4/3;}
.scena-foto{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
  transition:opacity .4s ease;}
.scena-foto-1{opacity:calc(1 - var(--f3,1));}
.scena-foto-2{opacity:calc(var(--f3,1) - var(--f5,1));}
.scena-foto-3{opacity:var(--f5,1);}

.sluzba-scena-popis{margin-top:14px; display:flex; flex-direction:column; gap:8px;}
.sluzba-scena-krok{font-family:var(--nadpisy); font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  font-size:13.5px; color:var(--ty-tmava);}
.sluzba-scena-pas{display:block; height:5px; border-radius:99px; background:var(--ty-blada); overflow:hidden;}
.sluzba-scena-pas i{display:block; height:100%; width:calc(var(--p,1) * 100%); background:var(--ty); border-radius:99px;
  transition:width .18s linear;}

@media (max-width:900px){
  /* Na mobile musí byť pripnutý priamo obal scény, nie vnútorný prvok:
     v jednostĺpcovej mriežke by mal riadok presne výšku scény a pripnutie
     by nemalo kam cestovať. Preto blokové rozloženie, scéna sa prilepí pod
     hlavičku a text sa posúva popod ňu. */
  .sluzba-scena-layout{display:block;}
  .sluzba-scena-obal{position:sticky; top:74px; z-index:5; height:auto;
    background:var(--pozadie); padding:8px 0 10px; margin-bottom:16px;}
  .sluzba-scena-pin{position:static;}
  .sluzba-scena{max-width:420px; margin:0 auto;}
  .sluzba-scena-popis{max-width:420px; margin:10px auto 0;}
}
@media (prefers-reduced-motion: reduce){
  /* bez animácie ukážeme rovno výsledok služby */
  .sluzba-scena{--f3:1 !important; --f5:1 !important;}
  .scena-foto{transition:none;}
  .sluzba-scena-pin{position:static;}
}

/* ===== Interná zóna ===== */
/* Tlačidlo zámku je služobný vstup pre tím, nie ponuka pre návštevníka.
   Na počítači je preto len tichá ikona odsadená čiarou za Kontaktom, ktorý
   ostáva jediným výrazným tlačidlom v hlavičke. Na mobile, kde je v menu
   miesta dosť, sa vypíše aj text. */
.iz-tlacidlo{display:inline-flex; align-items:center; gap:7px; text-decoration:none;
  color:#93aeb3 !important; white-space:nowrap; font-weight:700; font-size:13px;
  width:38px; height:38px; justify-content:center; border-radius:50%;
  margin-left:4px; padding:0; position:relative; flex:none;}
.iz-tlacidlo::before{content:''; position:absolute; left:-9px; top:50%; transform:translateY(-50%);
  width:1px; height:20px; background:var(--seda);}
.iz-tlacidlo-ikona{width:19px; height:19px; background:currentColor; flex:none;
  -webkit-mask:var(--ikona-zamok) center/contain no-repeat; mask:var(--ikona-zamok) center/contain no-repeat;}
.iz-tlacidlo-text{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.iz-tlacidlo-aktivny{color:var(--ty) !important; background:var(--ty-blada);}
@media (hover:hover) and (pointer:fine){
  .iz-tlacidlo{transition:color .2s ease, background .2s ease;}
  .iz-tlacidlo:hover{color:var(--ty-tmava) !important; background:var(--ty-blada);}
  .navigacia .iz-tlacidlo::after{display:none;}
}
/* v mobilnom menu je to plnohodnotná položka na konci zoznamu */
@media (max-width:1100px){
  .iz-tlacidlo{width:auto; height:auto; padding:9px 16px; border-radius:99px;
    border:1.5px solid var(--ty-blada); background:var(--biela); margin:2px 0 0;}
  .iz-tlacidlo::before{display:none;}
  .iz-tlacidlo-text{position:static; width:auto; height:auto; overflow:visible; clip:auto;}
}

.podstranka-hlavicka-iz .nadtitulok a{text-decoration:none;}
.iz-obsah{padding:56px 20px 70px; background:var(--pozadie);}
.iz-vnutro{max-width:940px; margin:0 auto;}
.iz-uvod{color:#5b7379; margin-bottom:26px;}

.iz-mriezka{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px;}
.iz-karta{position:relative; display:block; background:var(--biela); border-radius:18px; padding:26px 46px 26px 24px;
  text-decoration:none; color:inherit; box-shadow:0 8px 24px rgba(1,95,109,.08); border:1.5px solid transparent;}
.iz-karta h2{font-size:22px; margin-bottom:8px; color:var(--ty-tmava);}
.iz-karta p{font-size:14.5px; color:#5b7379; line-height:1.55;}
.iz-karta-sipka{position:absolute; right:20px; top:26px; font-size:26px; color:var(--ty); line-height:1;}
@media (hover:hover) and (pointer:fine){
  .iz-karta{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
  .iz-karta:hover{transform:translateY(-3px); box-shadow:0 16px 36px rgba(1,95,109,.15); border-color:var(--ty-blada);}
}

.iz-blok{background:var(--biela); border-radius:18px; padding:26px 24px; margin-bottom:20px;
  box-shadow:0 8px 24px rgba(1,95,109,.08);}
.iz-blok-hlava{display:flex; align-items:baseline; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:16px;}
.iz-blok-hlava h2{font-size:24px; color:var(--ty-tmava);}
.iz-rozpatie{background:var(--ty-blada); color:var(--ty-tmava); font-weight:700; font-size:13px;
  padding:5px 12px; border-radius:99px; white-space:nowrap;}
.iz-stupne{list-style:none; display:grid; gap:14px;}
.iz-stupne li{display:flex; gap:14px; align-items:flex-start;}
.iz-stupen-cislo{flex:none; width:30px; height:30px; border-radius:50%; background:var(--ty); color:var(--biela);
  font-family:var(--nadpisy); font-weight:700; font-size:16px; display:flex; align-items:center; justify-content:center;}
.iz-stupen-text{display:grid; gap:3px;}
.iz-stupen-text strong{color:var(--ink);}
.iz-stupen-text span{font-size:14.5px; color:#5b7379; line-height:1.55;}

.iz-tabulka-obal{background:var(--biela); border-radius:18px; box-shadow:0 8px 24px rgba(1,95,109,.08);
  overflow-x:auto; margin-bottom:22px;}
.iz-tabulka{width:100%; border-collapse:collapse; min-width:640px;}
.iz-tabulka th,.iz-tabulka td{padding:14px 16px; text-align:left; border-bottom:1px solid var(--seda); font-size:14.5px; vertical-align:top;}
.iz-tabulka th{font-family:var(--nadpisy); text-transform:uppercase; letter-spacing:.05em; font-size:13px; color:var(--ty-tmava);}
.iz-tabulka tr:last-child td{border-bottom:0;}
.iz-poznamka-riadok{display:block; font-size:13px; color:#7f979c; margin-top:3px;}
.iz-prazdne{color:#9fb0b4;}
.iz-postup{display:block; height:6px; width:110px; border-radius:99px; background:var(--ty-blada); overflow:hidden;}
.iz-postup i{display:block; height:100%; background:var(--ty); border-radius:99px;}
.iz-postup-cislo{font-size:12.5px; color:#7f979c;}
.iz-fazy{margin:8px 0 12px 20px; display:grid; gap:4px; font-size:14.5px; color:#5b7379;}

.iz-poznamka{background:var(--biela); border-left:4px solid var(--energia); border-radius:12px;
  padding:20px 22px; margin-bottom:20px;}
.iz-poznamka h3{font-size:19px; margin-bottom:8px; color:var(--ty-tmava);}
.iz-poznamka p,.iz-poznamka li{font-size:14.5px; color:#5b7379; line-height:1.6;}
.iz-poznamka ul{margin:8px 0 0 20px; display:grid; gap:5px;}
.iz-upozornenie{background:#ffefec; border:1.5px solid var(--energia); border-radius:12px; padding:16px 18px;
  margin-bottom:22px; font-size:14.5px; line-height:1.6; color:#6b5312;}

/* ===== Interná zóna: záložky dráh, tabuľka kariéry, kalkulačka ===== */
.iz-vnutro-siroke{max-width:1180px;}
.iz-zalozky{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px;}
.iz-zalozka{font:inherit; font-weight:700; font-size:14px; color:var(--ty-tmava); cursor:pointer;
  background:var(--biela); border:1.5px solid var(--ty-blada); border-radius:99px; padding:10px 18px;
  display:inline-flex; align-items:center; gap:8px;}
.iz-zalozka-pocet{background:var(--ty-blada); color:var(--ty-tmava); border-radius:99px;
  font-size:12px; padding:1px 8px;}
.iz-zalozka.je-aktivna{background:var(--ty); border-color:var(--ty); color:var(--biela);}
.iz-zalozka.je-aktivna .iz-zalozka-pocet{background:rgba(255,255,255,.26); color:var(--biela);}
@media (hover:hover) and (pointer:fine){
  .iz-zalozka{transition:background .2s ease, border-color .2s ease, color .2s ease;}
  .iz-zalozka:not(.je-aktivna):hover{border-color:var(--ty); background:var(--ty-blada);}
}
/* bez JavaScriptu sú viditeľné všetky dráhy pod sebou */
.js .iz-panel{display:none;}
.js .iz-panel.je-aktivny{display:block;}

.iz-tabulka-kariera{min-width:860px;}
.iz-tabulka-kariera th{vertical-align:bottom;}
.iz-tabulka-kariera thead th{background:var(--pozadie); position:sticky; top:0; z-index:2;}
.iz-stlpec-kriterium{position:sticky; left:0; background:var(--biela); z-index:1;
  min-width:186px; font-family:var(--nadpisy); text-transform:uppercase; letter-spacing:.05em;
  font-size:12.5px; color:var(--ty-tmava); text-align:left;}
.iz-tabulka-kariera thead .iz-stlpec-kriterium{background:var(--pozadie); z-index:3;}
.iz-poradie{display:inline-flex; align-items:center; justify-content:center; width:21px; height:21px;
  border-radius:50%; background:var(--ty); color:var(--biela); font-size:12px; font-weight:700;
  margin-right:6px; font-family:var(--telo);}
.iz-tabulka-kariera td{min-width:180px; font-size:13.5px; line-height:1.5;}
.iz-blok-lead{font-size:14.5px; color:#5b7379; line-height:1.6; margin-bottom:14px;}

.iz-faktura{background:var(--biela); border-radius:18px; padding:26px 24px; margin-bottom:22px;
  box-shadow:0 8px 24px rgba(1,95,109,.08); display:grid; grid-template-columns:1.25fr .9fr; gap:28px;
  align-items:start;}
.iz-faktura h2{font-size:24px; color:var(--ty-tmava); margin-bottom:16px;}
.iz-skupina{border:0; padding:0; margin:0 0 20px;}
.iz-skupina legend{font-family:var(--nadpisy); text-transform:uppercase; letter-spacing:.05em;
  font-size:13px; color:var(--ty-tmava); font-weight:700; margin-bottom:9px; padding:0;}
.iz-riadok{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:10px;}
.iz-pole{display:grid; gap:6px; font-size:13px; font-weight:700; color:var(--ty-tmava);}
.iz-pole input,.iz-pole select{font:inherit; font-weight:400; color:var(--ink); padding:10px 12px;
  border:1.5px solid var(--ty-blada); border-radius:10px; background:var(--biela); width:100%;}
.iz-pole input:focus,.iz-pole select:focus{outline:2px solid var(--ty); outline-offset:1px;}
.iz-napoveda{font-size:12.5px; color:#7f979c; line-height:1.5;}
.iz-faktura-vysledok{background:var(--pozadie); border-radius:14px; padding:22px; display:grid; gap:10px;
  align-content:start; position:sticky; top:104px;}
.iz-faktura-vysledok h3{font-size:19px; color:var(--ty-tmava); margin-bottom:4px;}
.iz-vysledok-riadok{display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  font-size:14.5px; color:#5b7379;}
.iz-vysledok-riadok strong{font-family:var(--nadpisy); font-size:19px; color:var(--ty-tmava); white-space:nowrap;}
.iz-vysledok-spolu{border-top:2px solid var(--ty-blada); padding-top:12px; margin-top:4px;}
.iz-vysledok-spolu strong{font-size:27px; color:var(--ty);}
.iz-vysledok-poznamka{font-size:12.5px; color:#7f979c; line-height:1.55; margin-top:4px;}

.iz-kvartal{display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start;}
.iz-kvartal-vstupy{display:grid; gap:12px;}
.iz-kvartal-vysledok{background:var(--pozadie); border-radius:14px; padding:18px; display:grid; gap:9px;}
tr.je-dosiahnuty{background:var(--ty-blada) !important;}
tr.je-dosiahnuty td{font-weight:700;}

.iz-osa-obal{overflow-x:auto; padding-bottom:6px;}
.iz-osa{display:flex; gap:12px; min-width:960px; padding:4px 0 2px;}
.iz-osa-tyzden{flex:1 1 0; min-width:132px; background:var(--pozadie); border-radius:12px;
  padding:12px 12px 14px; border-top:3px solid var(--ty); display:grid; gap:7px; align-content:start;}
.iz-osa-tyzden.je-prazdny{border-top-color:var(--ty-blada); opacity:.72;}
.iz-osa-mesiac{font-family:var(--nadpisy); text-transform:uppercase; letter-spacing:.06em;
  font-size:11.5px; color:var(--energia); font-weight:700;}
.iz-osa-cislo{font-family:var(--nadpisy); font-weight:700; font-size:16px; color:var(--ty-tmava);}
.iz-osa-polozky{list-style:none; display:grid; gap:8px;}
.iz-osa-polozka{font-size:12.5px; line-height:1.45; color:var(--ink);}
.iz-osa-druh{display:block; font-size:10.5px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--ty); margin-bottom:1px;}
.iz-osa-skusky .iz-osa-druh{color:var(--energia);}
.iz-osa-teoria .iz-osa-druh{color:var(--modra);}
.iz-osa-prazdny{font-size:12px; color:#9fb0b4; line-height:1.45;}

.iz-prihlasenie{padding:56px 20px 80px; background:var(--pozadie);}
.iz-prihlasenie-karta{max-width:440px; margin:0 auto; background:var(--biela); border-radius:18px;
  padding:32px 28px; box-shadow:0 14px 40px rgba(1,95,109,.12);}
.iz-prihlasenie-karta h2{font-size:26px; margin-bottom:18px; color:var(--ty-tmava);}
.iz-prihlasenie-karta .login-username,.iz-prihlasenie-karta .login-password{display:grid; gap:6px; margin-bottom:16px;}
.iz-prihlasenie-karta label{font-size:14px; font-weight:700; color:var(--ty-tmava);}
.iz-prihlasenie-karta input[type=text],.iz-prihlasenie-karta input[type=password]{font:inherit; padding:12px 14px;
  border:1.5px solid var(--ty-blada); border-radius:10px; width:100%; background:var(--biela); color:var(--ink);}
.iz-prihlasenie-karta input:focus{outline:2px solid var(--ty); outline-offset:1px;}
.iz-prihlasenie-karta .login-remember{display:flex; align-items:center; gap:9px; margin-bottom:18px;}
.iz-prihlasenie-karta .login-remember label{font-weight:400; color:var(--ink); display:flex; align-items:center; gap:9px;}
.iz-prihlasenie-karta .login-remember input{width:18px; height:18px; accent-color:var(--ty);}
.iz-prihlasenie-karta .login-submit input[type=submit]{font:inherit; font-weight:700; background:var(--ty);
  color:var(--biela); border:0; border-radius:99px; padding:14px 26px; width:100%; cursor:pointer; font-size:16px;}
.iz-hlaska{background:var(--ty-blada); color:var(--ty-tmava); border-radius:10px; padding:11px 14px;
  font-size:14px; margin-bottom:16px;}
.iz-hlaska-chyba{background:#fdeaea; color:#8d2020;}
.iz-pomoc{margin-top:16px; font-size:14px;}
.iz-pomoc a{color:var(--ty-tmava);}
.iz-pomoc-mala{font-size:12.5px; color:#7f979c; line-height:1.5;}

.iz-odhlasit{margin-top:28px; display:flex; gap:12px; flex-wrap:wrap;}
.iz-odhlasit .tlacidlo-obrys{color:var(--ty-tmava); border-color:var(--ty-blada);}

@media (max-width:760px){
  .iz-kalk{grid-template-columns:1fr; gap:22px;}
  .iz-obsah{padding:40px 16px 56px;}
}

/* ===== Kontakt: mapa klientov podľa okresov ===== */
.mapa-klientov{max-width:1180px; margin:0 auto; padding:0 20px 8px;}
.mapa-klientov-hlava{text-align:center; max-width:720px; margin:0 auto 22px;}
.mapa-klientov-hlava h2{font-size:30px; margin-bottom:8px;}
.mapa-klientov-hlava p{color:#5b7379; line-height:1.6;}
.mapa-klientov-plocha{position:relative;}
.mapa-klientov-svg{display:block; width:100%; height:auto;}
.mapa-okres{stroke:#ffffff; stroke-width:1.6; stroke-linejoin:round; transition:fill .18s ease;}
.mapa-okres.ma-klientov{cursor:pointer;}
.mapa-okres.je-zvyraznene{fill:var(--energia) !important;}
.mapa-okres:focus{outline:none;}
.mapa-okres:focus-visible{stroke:var(--ink); stroke-width:3;}
.mapa-pin{pointer-events:none;}
.mapa-pin-popis{font-family:var(--nadpisy); font-weight:700; font-size:17px; fill:var(--ink);
  paint-order:stroke; stroke:#ffffff; stroke-width:6px; stroke-linejoin:round;}
.mapa-pin circle:first-child{animation:mapa-tep 2.6s ease-in-out infinite;}
@keyframes mapa-tep{0%,100%{opacity:1} 50%{opacity:.62}}
@media (prefers-reduced-motion: reduce){ .mapa-pin circle:first-child{animation:none} }

.mapa-odpoved{position:absolute; left:0; bottom:6px; background:var(--biela); border-radius:12px;
  padding:12px 16px; box-shadow:0 8px 24px rgba(1,95,109,.14); display:grid; gap:2px; min-width:180px;
  pointer-events:none;}
.mapa-odpoved-okres{font-family:var(--nadpisy); font-weight:700; font-size:18px; color:var(--ty-tmava);}
.mapa-odpoved-pocet{font-size:13.5px; color:#5b7379;}

.mapa-legenda{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 18px;
  margin-top:14px;}
.mapa-legenda-nazov{font-family:var(--nadpisy); text-transform:uppercase; letter-spacing:.06em;
  font-size:12.5px; font-weight:700; color:var(--ty-tmava);}
.mapa-legenda ul{list-style:none; display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center;}
.mapa-legenda li{display:flex; align-items:center; gap:7px; font-size:13px; color:#5b7379;}
.mapa-legenda i{width:16px; height:16px; border-radius:4px; display:block; border:1px solid rgba(1,95,109,.14);}
.mapa-legenda-pin{background:var(--energia) !important; border-radius:50% !important;}
.mapa-poznamka{text-align:center; font-size:12.5px; color:#8aa2a7; margin-top:14px; line-height:1.55;}

@media (max-width:760px){
  .mapa-klientov{padding:0 12px 8px;}
  .mapa-klientov-hlava h2{font-size:24px;}
  .mapa-odpoved{position:static; margin:12px auto 0; max-width:280px; text-align:center;
    justify-items:center; box-shadow:0 4px 14px rgba(1,95,109,.12);}
}

.mapa-sekcia{padding:56px 0 64px; background:var(--biela);}
@media (max-width:760px){ .mapa-sekcia{padding:40px 0 48px;} }

/* ===== Interná zóna: profil, overenie a faktúra ===== */
/* Očko pri hesle. Pole prepína main.js medzi password a text, tlačidlo
   je až za polom, aby ho čítačka obrazovky prečítala v správnom poradí. */
.sza-heslo-obal{position:relative; display:block;}
.sza-heslo-obal input{padding-right:46px !important; width:100%;}
.sza-oko{position:absolute; right:6px; top:50%; transform:translateY(-50%); width:34px; height:34px;
  border:0; background:none; cursor:pointer; padding:0; border-radius:8px; color:#7f979c;}
.sza-oko::before{content:''; display:block; width:20px; height:20px; margin:0 auto; background:currentColor;
  -webkit-mask:var(--ikona-oko) center/contain no-repeat; mask:var(--ikona-oko) center/contain no-repeat;}
.sza-oko.je-vidno::before{-webkit-mask-image:var(--ikona-oko-skryte); mask-image:var(--ikona-oko-skryte);}
.sza-oko:focus-visible{outline:2px solid var(--ty); outline-offset:1px;}
@media (hover:hover){ .sza-oko:hover{color:var(--ty-tmava); background:var(--pozadie);} }

/* Oznamy nad formulármi */
.iz-oznam{border-radius:12px; padding:12px 16px; margin-bottom:18px; font-size:14.5px; line-height:1.55;}
.iz-oznam-ok{background:#e4f6ee; color:#1c6a4c;}
.iz-oznam-chyba{background:#fdeceb; color:#a32f28;}
.iz-oznam-pozor{background:#ffece8; color:#8f3a30;}
.iz-oznam a{color:inherit;}

/* Profil */
.iz-mriezka-poli{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px 18px; align-items:start;}
.iz-mriezka-poli .iz-pole-uzke{max-width:230px;}
.iz-hviezda{color:var(--ty); font-style:normal;}
.iz-pole em.iz-napoveda{font-style:normal;}
.iz-zaskrtnutie{display:inline-flex; gap:8px; align-items:center; font-size:13.5px; color:#5b7379; margin-top:10px;}
.iz-akcie{display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:6px 0 26px;}
.iz-akcie .tlacidlo-plne{border:0; cursor:pointer; font:inherit; font-weight:700;}
.iz-foto-riadok{display:flex; gap:22px; align-items:flex-start; flex-wrap:wrap;}
.iz-foto-nahlad{width:120px; height:120px; border-radius:50%; overflow:hidden; flex:none;
  background:var(--ty-blada); display:flex; align-items:center; justify-content:center;}
.iz-foto-nahlad img{width:100%; height:100%; object-fit:cover;}
.iz-foto-prazdna{font-size:44px; font-weight:700; color:var(--ty-tmava);}
.iz-foto-ovladanie{flex:1 1 280px; display:grid; gap:6px;}
.iz-foto-ovladanie input[type=file]{font-size:13.5px; font-weight:400;}
.iz-hlavicka-foto{width:72px; height:72px; border-radius:50%; object-fit:cover; margin:0 auto 12px;
  border:3px solid rgba(255,255,255,.6); position:relative; z-index:1;}

/* Overenie prihlásenia */
.iz-kod-pole{letter-spacing:.42em; font-size:26px !important; text-align:center; font-weight:700 !important;
  max-width:230px; margin:0 auto;}
.iz-kod-formular label{display:block; font-size:13px; font-weight:700; color:var(--ty-tmava); margin-bottom:6px;}
.iz-kod-formular p{margin-bottom:16px;}
.iz-zapamatat label{display:inline-flex; gap:8px; align-items:center; font-size:13.5px; font-weight:400; color:#5b7379;}
.iz-kod-znova{margin-top:-6px;}
.iz-odkaz-tlacidlo{border:0; background:none; padding:0; font:inherit; font-size:13.5px;
  color:var(--ty-tmava); text-decoration:underline; cursor:pointer;}

/* Faktúra */
.iz-faktura-formular{display:grid; gap:4px;}
.iz-fa-hlava{display:flex; justify-content:space-between; align-items:flex-end; gap:18px;
  flex-wrap:wrap; border-bottom:2px solid var(--ty); padding-bottom:12px; margin-bottom:20px;}
.iz-fa-nazov{display:flex; align-items:flex-end; gap:16px;}
.iz-fa-slovo{font-family:var(--nadpisy); font-weight:700; font-size:30px; color:var(--ty-tmava);
  text-transform:uppercase; letter-spacing:.02em; line-height:1;}
.iz-fa-druh{font-size:12.5px; color:#7f979c; max-width:320px; text-align:right;}
.iz-fa-strany{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
.iz-fa-strany .iz-pole{margin-bottom:10px;}
.iz-fa-polozky{table-layout:fixed;}
/* hlavičky sa smú zalomiť, inak si „Cena za jednotku" vezme šírku a na popis
   položky ostane pás, v ktorom nie je vidieť ani prvé tri slová */
.iz-fa-polozky th{white-space:normal; line-height:1.25;}
.iz-fa-polozky td{padding-left:6px; padding-right:6px;}
.iz-fa-polozky td{vertical-align:middle;}
.iz-fa-polozky tr[hidden]{display:none;}   /* display v CSS prebíja atribút hidden */
.iz-fa-polozky input{font:inherit; font-size:13.5px; color:var(--ink); padding:8px 10px;
  border:1.5px solid var(--ty-blada); border-radius:9px; background:var(--biela); width:100%; min-width:80px;}
.iz-fa-polozky input:focus{outline:2px solid var(--ty); outline-offset:1px;}
.iz-fa-uzky{width:88px;}
.iz-fa-polozky th:last-child{width:34px;}
.iz-fa-cislo{text-align:right;}
.iz-fa-spolu{font-weight:700; color:var(--ty-tmava); white-space:nowrap; text-align:right;}
.iz-fa-zmazat{border:0; background:none; cursor:pointer; font-size:20px; line-height:1; color:#a8c0c4; padding:4px 6px;}
.iz-fa-zmazat:hover{color:#a32f28;}
.iz-fa-tlacidla-male{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px;}
.iz-fa-tlacidla-male .tlacidlo-obrys{cursor:pointer; font:inherit; font-weight:700; font-size:13.5px; padding:8px 16px;}
.iz-fa-sucty{background:var(--pozadie); border-radius:14px; padding:18px 20px; display:grid; gap:10px;
  margin:18px 0; max-width:420px; margin-left:auto;}
.iz-fa-sadzba{width:54px; font:inherit; font-size:13.5px; padding:4px 8px; text-align:right;
  border:1.5px solid var(--ty-blada); border-radius:8px;}
.iz-fa-zoznam{margin-top:26px; border-top:1px solid var(--ty-blada); padding-top:20px;}
.iz-fa-zoznam h3{font-size:19px; color:var(--ty-tmava); margin-bottom:12px;}
.iz-fa-akcie{display:flex; gap:14px; align-items:center; white-space:nowrap;}
.iz-fa-akcie form{display:inline;}

@media (max-width:760px){
  .iz-mriezka-poli{grid-template-columns:1fr;}
  .iz-mriezka-poli .iz-pole-uzke{max-width:none;}
  .iz-fa-strany{grid-template-columns:1fr; gap:4px;}
  .iz-fa-druh{text-align:left;}
  .iz-fa-sucty{max-width:none;}
  .iz-fa-uzky{width:auto;}
}

/* ===== Interná zóna: profil so záložkami ===== */
/* Rozloženie kopíruje portál skvelakariera.com: farebný pás s fotkou a menom,
   pod ním lišta so záložkami a v nich bloky, každý s vlastným tlačidlom. */
.iz-profil-banner{background:var(--ty); padding:34px 20px 26px;}
.iz-profil-banner-vnutro{max-width:940px; margin:0 auto; display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
.iz-profil-avatar{width:112px; height:112px; border-radius:50%; overflow:hidden; flex:none;
  background:var(--ty-blada); display:flex; align-items:center; justify-content:center;
  border:4px solid rgba(255,255,255,.55);}
.iz-profil-avatar img{width:100%; height:100%; object-fit:cover;}
.iz-profil-avatar span{font-size:42px; font-weight:700; color:var(--ty-tmava);}
.iz-profil-kto h1{color:var(--biela); font-size:clamp(24px,3vw,34px); text-transform:none; margin:0;}
.iz-profil-kto p{color:#d7f0f3; font-size:15.5px; margin-top:4px;}

.iz-profil-lista{background:var(--biela); border-bottom:1px solid var(--ty-blada); position:sticky; top:74px; z-index:5;}
.iz-profil-lista .iz-vnutro{padding:0 20px;}
.iz-zalozky-podciarknute{gap:4px; margin-bottom:0; overflow-x:auto; flex-wrap:nowrap;}
.iz-zalozky-podciarknute .iz-zalozka{background:none; border:0; border-bottom:3px solid transparent;
  border-radius:0; padding:15px 14px; color:#5b7379; white-space:nowrap;}
.iz-zalozky-podciarknute .iz-zalozka.je-aktivna{background:none; color:var(--ty); border-bottom-color:var(--ty);}
.iz-zalozky-podciarknute .iz-zalozka-odkaz{text-decoration:none; margin-left:auto; color:var(--ty-tmava);}
@media (hover:hover){
  .iz-zalozky-podciarknute .iz-zalozka:not(.je-aktivna):hover{background:none; color:var(--ty-tmava);
    border-bottom-color:var(--ty-blada);}
}
.iz-obsah-profil{padding-top:34px;}
/* Nadpisy blokov v profile sú vetou, nie verzálkami, rovnako ako na portáli,
   podľa ktorého je stránka poskladaná. Zvyšok zóny verzálky ponecháva. */
.iz-obsah-profil .iz-blok h2{text-transform:none; font-size:22px; letter-spacing:0;}
.iz-panel{scroll-margin-top:140px;}

.iz-akcie-vpravo{justify-content:flex-end; margin:18px 0 0;}
.iz-akcie-vpravo .tlacidlo-obrys{cursor:pointer; font:inherit; font-weight:700;}
.iz-udaj{display:grid; gap:2px; margin-bottom:16px;}
.iz-udaj-nazov{font-size:13px; font-weight:700; color:var(--ty-tmava);}
.iz-udaj strong{font-size:16px; font-weight:400; color:var(--ink); word-break:break-word;}
.iz-udaj-bodky{letter-spacing:.24em;}
.iz-rozbal{margin:0 0 22px;}
.iz-rozbal summary{cursor:pointer; font-size:14px; font-weight:700; color:var(--ty); list-style:none;
  display:inline-flex; align-items:center; gap:6px;}
.iz-rozbal summary::-webkit-details-marker{display:none;}
.iz-rozbal summary::after{content:'+'; font-size:17px; line-height:1;}
.iz-rozbal[open] summary::after{content:'\2212';}
.iz-rozbal[open] summary{margin-bottom:14px;}
.iz-rozbal > form{border-left:3px solid var(--ty-blada); padding-left:18px;}

.iz-prepinace{list-style:none; display:grid; gap:12px; max-width:520px;}
.iz-prepinace .iz-zaskrtnutie{margin:0; font-size:15px; color:var(--ink);}
.iz-prepinace input{width:18px; height:18px; accent-color:var(--ty); flex:none;}

.iz-kolegovia{list-style:none; display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:14px;}
.iz-kolega{display:flex; gap:12px; align-items:flex-start; background:var(--pozadie);
  border-radius:14px; padding:14px 16px;}
.iz-kolega-foto{width:52px; height:52px; border-radius:50%; overflow:hidden; flex:none; background:var(--ty-blada);
  display:flex; align-items:center; justify-content:center; font-weight:700; color:var(--ty-tmava);}
.iz-kolega-foto img{width:100%; height:100%; object-fit:cover;}
.iz-kolega-udaje{display:grid; gap:2px; font-size:13.5px; min-width:0;}
.iz-kolega-udaje strong{font-size:15px; color:var(--ink);}
.iz-kolega-pozicia{color:var(--ty-tmava); font-weight:700; font-size:12.5px;}
.iz-kolega-drobne{color:#7f979c; font-size:12.5px;}
.iz-kolega-kontakt{display:grid; gap:1px; margin-top:4px;}
.iz-kolega-kontakt a{color:#5b7379; text-decoration:none; word-break:break-word;}
.iz-kolega-kontakt a:hover{color:var(--ty-tmava); text-decoration:underline;}

@media (max-width:760px){
  .iz-profil-banner{padding:26px 18px 20px;}
  .iz-profil-avatar{width:84px; height:84px;}
  .iz-profil-avatar span{font-size:32px;}
  .iz-profil-lista{position:static;}
  /* v úzkej lište sa lámalo do dvoch riadkov, radšej nech sa dá posúvať;
     odkaz späť je aj v pätičke zóny, tu by len zaberal miesto */
  .iz-zalozky-podciarknute .iz-zalozka{padding:13px 10px; font-size:13.5px;}
  .iz-zalozky-podciarknute .iz-zalozka-odkaz{display:none;}
  .iz-akcie-vpravo{justify-content:stretch;}
  .iz-akcie-vpravo button{flex:1 1 auto;}
}

/* ===== Videoškola: filter podľa témy ===== */
.videoskola-filter{display:flex; flex-wrap:wrap; gap:9px; justify-content:center; margin:0 auto 30px; max-width:900px;}
.video-filter{font:inherit; font-weight:700; font-size:14px; color:var(--ty-tmava); cursor:pointer;
  background:var(--biela); border:1.5px solid var(--ty-blada); border-radius:99px; padding:9px 18px;}
.video-filter.je-aktivny{background:var(--ty); border-color:var(--ty); color:var(--biela);}
.video-karta[hidden]{display:none;}   /* display prebíja atribút hidden, poistka nutná */
.blog-karta[hidden]{display:none;}    /* to isté pre filter na blogu */
a.video-filter{text-decoration:none; display:inline-block;}
.videoskola-prazdne{text-align:center; color:#5b7379; margin-top:10px;}
.videoskola-prazdne[hidden]{display:none;}
@media (hover:hover) and (pointer:fine){
  .video-filter{transition:background .2s ease, border-color .2s ease, color .2s ease;}
  .video-filter:not(.je-aktivny):hover{border-color:var(--ty); background:var(--ty-blada);}
}
@media (max-width:640px){
  .videoskola-filter{gap:7px; margin-bottom:22px;}
  .video-filter{font-size:13px; padding:8px 14px;}
}

/* ===== FAQ, časté otázky ===== */
/* Otázka a odpoveď musia byť na prvý pohľad rozoznateľné, preto má otázka
   koliesko s otáznikom a tučné písmo, kým odpoveď je odsadený panel
   s tyrkysovým prúžkom. Skupiny sú samostatné biele karty s očíslovanou
   hlavičkou, aby bolo vidieť, kde jedna téma končí a druhá začína. */
.faq{background:var(--pozadie);}
.faq-vnutro{max-width:880px; margin:0 auto;}
.faq-uvod{color:#3d565b; font-size:17px; line-height:1.65; margin-bottom:38px; text-align:center;}

.faq-skupina{background:var(--biela); border-radius:20px; padding:24px 26px 8px;
  box-shadow:0 12px 34px rgba(1,95,109,.07); margin-bottom:24px;}
.faq-skupina h2{display:flex; align-items:center; gap:12px; font-size:21px; text-transform:none;
  letter-spacing:0; color:var(--ty-tmava); margin:0 0 6px; padding-bottom:16px;
  border-bottom:2px solid var(--ty-blada);}
.faq-cislo{flex:0 0 auto; width:34px; height:34px; border-radius:50%; background:var(--ty); color:#fff;
  font-size:16px; font-weight:700; display:grid; place-items:center;}

.faq-polozka{border-bottom:1px solid var(--ty-blada);}
.faq-skupina .faq-polozka:last-of-type{border-bottom:0;}
.faq-polozka summary{cursor:pointer; list-style:none; position:relative;
  padding:17px 42px 17px 42px; font-weight:700; font-size:17px; color:var(--ink); line-height:1.4;
  transition:color .18s ease;}
.faq-polozka summary::-webkit-details-marker{display:none;}
.faq-polozka summary::before{content:'?'; position:absolute; left:0; top:15px; width:27px; height:27px;
  border-radius:50%; background:var(--ty-blada); color:var(--ty-tmava);
  font-size:15px; font-weight:700; line-height:27px; text-align:center; transition:background .18s ease, color .18s ease;}
.faq-polozka summary::after{content:''; position:absolute; right:8px; top:50%; width:10px; height:10px;
  margin-top:-7px; border-right:2.5px solid var(--ty); border-bottom:2.5px solid var(--ty);
  transform:rotate(45deg); transition:transform .2s ease;}
.faq-polozka[open] summary{color:var(--ty-tmava);}
.faq-polozka[open] summary::before{background:var(--ty); color:#fff;}
.faq-polozka[open] summary::after{transform:rotate(-135deg); margin-top:-3px;}

.faq-odpoved{margin:0 0 20px 42px; padding:15px 20px; background:var(--pozadie);
  border-left:3px solid var(--ty); border-radius:0 12px 12px 0;
  color:#3d565b; font-size:15.5px; line-height:1.72;}
.faq-odpoved p{margin-bottom:11px;}
.faq-odpoved p:last-child{margin-bottom:0;}
.faq-odpoved strong{color:var(--ink);}

.faq-cta{background:var(--biela); border-radius:18px; padding:30px; text-align:center;
  box-shadow:0 10px 30px rgba(1,95,109,.08); margin-top:34px;}
.faq-cta h2{font-size:22px; text-transform:none; letter-spacing:0; margin-bottom:8px;}
.faq-cta p{color:#5b7379; margin-bottom:16px;}
.faq-cta a{margin:0 5px;}
@media (hover:hover){
  .faq-polozka summary:hover{color:var(--ty-tmava);}
  .faq-polozka summary:hover::before{background:var(--ty); color:#fff;}
}
@media (max-width: 640px){
  .faq-skupina{padding:20px 16px 4px; border-radius:16px;}
  .faq-skupina h2{font-size:19px; gap:10px;}
  .faq-polozka summary{font-size:16px; padding:15px 28px 15px 36px;}
  .faq-polozka summary::before{width:24px; height:24px; line-height:24px; font-size:14px; top:14px;}
  .faq-odpoved{margin-left:0; padding:13px 15px; border-radius:0 10px 10px 0;}
}

/* ===== E-book ===== */
.ebook{background:var(--pozadie);}
.ebook-hero{display:grid; grid-template-columns:1.25fr .75fr; gap:40px; align-items:center;
  max-width:1060px; margin:0 auto 56px;}
.ebook-hero h2{font-size:30px; text-transform:none; letter-spacing:0; margin-bottom:12px;}
.ebook-lead{font-size:17px; line-height:1.7; color:#3d565b; margin-bottom:16px;}
.ebook-body{list-style:none; display:grid; gap:9px; margin-bottom:24px;}
.ebook-body li{position:relative; padding-left:26px; color:#3d565b; font-size:15.5px; line-height:1.6;}
.ebook-body li::before{content:''; position:absolute; left:2px; top:8px; width:9px; height:9px;
  border-radius:50%; background:var(--ty);}
.ebook-akcie{display:flex; gap:12px; flex-wrap:wrap;}
.ebook-obal img{width:100%; height:auto; border-radius:14px; box-shadow:0 18px 44px rgba(1,95,109,.22);}
.ebook-obsah{max-width:860px; margin:0 auto 52px;}
.ebook-obsah h2{font-size:24px; text-transform:none; letter-spacing:0; margin-bottom:18px; text-align:center;}
.ebook-zoznam{list-style:none; display:grid; gap:10px;}
.ebook-zoznam li{display:flex; gap:14px; align-items:flex-start; background:var(--biela);
  border-radius:14px; padding:15px 18px;}
.ebook-cislo{flex:none; width:30px; height:30px; border-radius:50%; background:var(--ty-blada);
  color:var(--ty-tmava); font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center;}
.ebook-kapitola{display:grid; gap:2px;}
.ebook-kapitola strong{font-size:16px; color:var(--ink);}
.ebook-kapitola span{font-size:14.5px; color:#5b7379; line-height:1.55;}
.ebook-cta{max-width:860px; margin:0 auto; background:var(--biela); border-radius:18px;
  padding:30px; text-align:center; box-shadow:0 10px 30px rgba(1,95,109,.08);}
.ebook-cta h2{font-size:22px; text-transform:none; letter-spacing:0; margin-bottom:8px;}
.ebook-cta p{color:#5b7379; margin-bottom:16px;}
.ebook-cta a{margin:0 5px;}
@media (max-width:860px){
  .ebook-hero{grid-template-columns:1fr; gap:26px;}
  .ebook-obal{max-width:300px; margin:0 auto;}
}

/* ===== Súhlas s cookies (inc/cookies.php) =====
   Pozor na ponaučenie č. 2: display prebíja hidden, preto všade [hidden]. */
.cookies-lista{position:fixed; left:20px; bottom:20px; z-index:9400; width:min(440px, calc(100vw - 40px));
  background:var(--biela); color:var(--ink); border-radius:16px; padding:22px 24px 20px;
  box-shadow:0 18px 50px rgba(0,23,31,.28); border:1px solid var(--ty-blada);}
.form-robot[hidden],.form-recaptcha[hidden],.cookies-lista[hidden],.cookies-volby[hidden],.cookies-btn[hidden],.mapa-suhlas[hidden],.paticka-mapa[hidden]{display:none !important;}
.cookies-lista h2{font-size:19px; margin:0 0 8px; text-transform:none; letter-spacing:0;}
.cookies-lista p{font-size:14.5px; line-height:1.55; margin:0 0 14px; color:#3d565b;}
.cookies-lista a{color:var(--ty-tmava); text-decoration:underline;}
.cookies-volby{display:grid; gap:10px; margin:0 0 16px;}
.cookies-volba{display:flex; gap:10px; align-items:flex-start; font-size:13.5px; line-height:1.5; color:#3d565b;
  background:var(--pozadie); border-radius:10px; padding:10px 12px; cursor:pointer;}
.cookies-volba strong{display:block; color:var(--ink);}
.cookies-volba input{margin-top:3px; accent-color:var(--ty-tmava); width:17px; height:17px; flex:none;}
.cookies-tlacidla{display:flex; flex-wrap:wrap; gap:8px;}
.cookies-btn{flex:1 1 auto; cursor:pointer; font:inherit; font-weight:700; font-size:14.5px; padding:10px 14px;
  border-radius:10px; border:2px solid #007886; transition:background .2s, color .2s;}
.cookies-btn-obrys{background:var(--biela); color:#007886;}
.cookies-btn-obrys:hover{background:var(--ty-blada);}
.cookies-btn-plne{background:#007886; color:#fff;}
.cookies-btn-plne:hover{background:var(--ty-tmava); border-color:var(--ty-tmava);}
.mapa-suhlas{min-height:200px; border-radius:14px; padding:22px 18px; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:12px; text-align:center;
  background:rgba(255,255,255,.06); border:1px dashed rgba(255,255,255,.25);}
.mapa-suhlas p{margin:0; font-size:14px; color:#bfe3e8;}
.mapa-suhlas .cookies-btn{flex:none;}
.paticka-cookies{border:0; background:none; padding:0; cursor:pointer; font:inherit; color:inherit; text-decoration:underline;}
.paticka-cookies:hover{color:#fff;}
@media (max-width:600px){ .cookies-lista{left:10px; right:10px; bottom:10px; width:auto; padding:18px 16px 16px;} }

/* Google reCAPTCHA má pevnú šírku 304 px. Na mobile by roztiahla kartu formulára za okraj
   obrazovky (na 375 px o 23 px), preto je tam vnútro widgetu vyňaté z toku (absolute)
   a zmenšené. Samotný transform šírku v rozložení nemení, preto nestačil. */
.form-recaptcha{min-height:78px; min-width:0;}
@media (max-width:440px){
  .form-recaptcha{position:relative; height:70px; min-height:0; width:100%;}
  .form-recaptcha > div{position:absolute; left:0; top:0; transform-origin:0 0; transform:scale(.9);}
}
@media (max-width:380px){ .form-recaptcha{height:67px;} .form-recaptcha > div{transform:scale(.86);} }
@media (max-width:340px){ .form-recaptcha{height:58px;} .form-recaptcha > div{transform:scale(.74);} }

/* ===== Mobilná lišta Zavolať / Napísať (inc/cta.php) =====
   Len na telefóne. display prebíja hidden, preto pravidlo [hidden]. */
.mobilna-lista{display:none;}
@media (max-width:760px){
  .mobilna-lista{position:fixed; left:0; right:0; bottom:0; z-index:9300; display:grid; grid-template-columns:1fr 1fr; gap:8px;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.96);
    border-top:1px solid var(--ty-blada); box-shadow:0 -6px 20px rgba(0,45,62,.12); backdrop-filter:blur(6px);}
  .mobilna-lista[hidden]{display:none !important;}
  .mobilna-lista-tlacidlo{display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; border-radius:12px;
    font-weight:700; font-size:16px; text-decoration:none;}
  .mobilna-lista-volat{background:#007886; color:#fff;}
  .mobilna-lista-pisat{background:var(--biela); color:#007886; border:2px solid #007886;}
  body.ma-mobilnu-listu{padding-bottom:72px;}
}

/* ===== Ďakovná stránka po odoslaní formulára ===== */
.dakujeme{background:var(--biela);}
.dakujeme-vnutro{max-width:860px; margin:0 auto; text-align:center;}
.dakujeme-znak{width:84px; height:84px; margin:0 auto 22px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--calm); color:var(--ty-tmava);}
.dakujeme h2{font-size:clamp(22px,2.6vw,28px); margin:34px 0 16px;}
.dakujeme-kroky{list-style:none; counter-reset:krok; padding:0; margin:0 auto; max-width:640px; display:grid; gap:12px; text-align:left;}
.dakujeme-kroky li{counter-increment:krok; position:relative; padding:16px 18px 16px 62px; background:var(--pozadie);
  border:1px solid var(--ty-blada); border-radius:14px; color:#3d565b;}
.dakujeme-kroky li::before{content:counter(krok); position:absolute; left:16px; top:50%; transform:translateY(-50%);
  width:32px; height:32px; border-radius:50%; background:var(--ty); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center;}
.dakujeme-kroky strong{color:var(--ink);}
.dakujeme-rychlo{margin:26px auto 0; max-width:640px; color:#3d565b;}
.dakujeme-rychlo a{color:#007886;}
.dakujeme-odkazy{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; text-align:left;}
.dakujeme-karta{display:grid; gap:6px; padding:20px; border:1px solid var(--ty-blada); border-radius:16px; background:var(--biela);
  text-decoration:none; color:#3d565b; transition:transform .2s ease, box-shadow .2s ease;}
.dakujeme-karta img{width:96px; height:55px; object-fit:contain;}
.dakujeme-karta img.dakujeme-es{box-sizing:border-box; padding:7px 0; object-position:left center;}
.dakujeme-karta strong{color:var(--ink); font-size:18px;}
.dakujeme-karta span{font-size:14.5px;}
@media (hover:hover){ .dakujeme-karta:hover{transform:translateY(-3px); box-shadow:0 14px 30px rgba(1,95,109,.13);} }
@media (max-width:760px){ .dakujeme-odkazy{grid-template-columns:1fr;} }

/* Spoločná výzva na kontakt na konci stránok (inc/cta.php) */
.sza-cta{padding-top:54px; padding-bottom:64px;}
.form-odporucane{font-weight:400; color:#5b7379; font-size:.92em;}
