/* Písma: fonts.css sa pripája priamo v šablónach spolu s preload (skôr než cez @import). */


:root{
  /* TYPOGRAFICKÁ STUPNICA (27. 9. 2026, Ivan: „veľkosť podľa dôležitosti textu"). Veľkosť písma sa neurčuje
     pre každé miesto zvlášť, ale podľa ROLY textu — zmena tu sa prejaví na celom webe. Nadpisy plynulo podľa
     šírky okna (na mobile menšie). Predtým 20 rôznych veľkostí. Ikony a dekorácie majú vlastné rozmery. */
  --fs-xs:12px;                                   /* štítky: kategória produktu, jazyk */
  --fs-sm:14px;                                   /* drobný text: drobček, kicker, meta, poznámky, popisky; menu a podmenu (Ivan 28. 9.: „1A") */
  --fs-base:16px;                                 /* bežný text, tlačidlá, odkazy v päte */
  --fs-lg:18px;                                   /* úvodný a zvýraznený text */
  --fs-xl:20px;                                   /* malý nadpis, úvod článku */
  --fs-h3:clamp(20px, .95rem + .9vw, 24px);       /* nadpis karty, podsekcie */
  --fs-h2:clamp(28px, 1.2rem + 1.3vw, 36px);      /* nadpis sekcie */
  --fs-h1:clamp(32px, 1.3rem + 1.6vw, 40px);      /* nadpis stránky */
  --fs-display:clamp(36px, 1.4rem + 2.4vw, 52px); /* veľký nadpis: úvod, článok */
  --orange:#ef6c00;
  --black:#111111;
  --dark:#232323;
  /* FARBY TEXTU (27. 9. 2026, časť A): predtým 19 farieb — 9 odtieňov šedej, 3 zelené. Teraz roly: */
  --text:#333333;          /* bežný text */
  --muted:#666666;         /* doplnkový text, popisy (predtým #555/#666/#707070/#737373/#5f6670… ; kontrast 5,2 : 1 aj na béžovej) */
  --text-on-dark:#dddddd;  /* text na tmavom pozadí (päta) */
  /* HRÚBKY PÍSMA: predtým 400/600/700/800/900 — teraz tri roly */
  --fw-normal:400;         /* bežný text */
  --fw-bold:700;           /* zvýraznenie v texte, popisy polí */
  --fw-heavy:800;          /* nadpisy, tlačidlá, štítky */
  /* ZAOBLENIA (Ivan: „jednotné"): predtým 11 hodnôt (2–20 px) */
  --r-sm:4px;              /* ovládacie prvky: tlačidlá, polia, menu, malé prvky */
  --r-md:8px;              /* všetky plochy: karty, panely, obrázky, video */
  --r-pill:999px;          /* štítky a filtre */
  --r-kruh:50%;            /* okrúhle ikony a ovládače */
  /* TIENE: predtým 13+ čiernych variantov */
  --shadow-sm:0 8px 24px rgba(0,0,0,.05);     /* karty */
  --shadow-md:0 14px 36px rgba(0,0,0,.07);    /* panely, rozbalené menu */
  --shadow-lg:0 20px 48px rgba(0,0,0,.12);    /* zdvihnutie pri prejdení myšou */
  --shadow-float:0 16px 40px rgba(0,0,0,.24); /* prvky nad obrázkom: video, ▶, body na automate, výber jazyka */
  /* TLAČIDLÁ: predtým 4 varianty vnútorných okrajov — teraz dve veľkosti */
  --btn-pad:15px 22px;     /* bežné tlačidlo */
  --btn-pad-sm:10px 16px;  /* malé tlačidlo v karte (produkt, článok) */
  /* MEDZERY SEKCIÍ: predtým 75 px aj na mobile, 85, 86 px — teraz jedna, plynulo 56 → 80 px */
  --sekcia:clamp(48px, 1.53vw + 42px, 64px);   /* odsadenie sekcie: 64 px pri 1440, 48 px na mobile (Ivan 8. 10. 2026; predtým 80/56) */
  --bg:#f5f5ef;
  --card:#ffffff;
  --line:#e4e4dc;
  --shadow:0 18px 42px rgba(0,0,0,.08);
  --font-body:"Inter", "Inter Fallback", Arial, Helvetica, sans-serif;   /* Fallback = Arial s rozmermi Inter (fonts.css) */
  --font-heading:"Manrope", "Manrope Fallback", "Inter", Arial, Helvetica, sans-serif;
  --font:var(--font-body);
}
/* H2 S VZHĽADOM H3 (28. 9. 2026, audit „dokonalý web"): nadpisy kariet, boxov Kontaktu a „Súvisiace…" hneď po H1 boli H3 —
   poradie nadpisov preskakovalo úroveň (H1 → H3). Teraz H2 a vyzerajú presne ako predtým: všeobecné h2 (36 px, zelené,
   prestrih −1,5 px, riadkovanie 1,2 !important, okraje) sa vráti na hodnoty h3; pravidlá kontextov (.contact-box h3…) platia
   aj pre h2 (doplnené k selektorom) — preto je tento základ na ZAČIATKU súboru: kontexty s rovnakou váhou ho prebijú. Zmerané: 518 nadpisov na všetkých stránkach pred/po. */
h2.ako-h3{font-size:var(--fs-h3);line-height:normal !important;letter-spacing:normal;color:var(--green);margin:0 0 12px;font-weight:var(--fw-heavy)}
/* Nadpisy stĺpcov päty: h2 (predtým h4 — po poslednom H2 stránky preskakovali úroveň), vzhľad h4; .footer h4 platí aj pre h2. */
h2.ako-h4{font-size:var(--fs-base);line-height:normal !important;letter-spacing:normal;margin:1.33em 0;font-weight:var(--fw-heavy)}

*{box-sizing:border-box}
body{margin:0;font-family:var(--font);color:var(--text);background:#fff}
a{text-decoration:none;color:inherit}
.topbar{background:#fff;border-bottom:1px solid #eee;font-size:var(--fs-sm);color:var(--muted)}
.topbar .container{min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.social{display:flex;gap:12px;font-weight:var(--fw-heavy);color:var(--green)}
.header{height:78px;background:white;border-bottom:1px solid #e9e9e3;position:sticky;top:0;z-index:50}
.header .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px}
.logo{display:inline-block;color:var(--orange);font-size:34px;font-weight:var(--fw-heavy);letter-spacing:-1px;line-height:.92}
.logo small{display:block;color:var(--green);font-size:10px;letter-spacing:3px;margin-top:7px;font-weight:var(--fw-heavy)}
/* Hlavné menu: všetky položky rovnako (predtým „Produkty" 15 px, ostatné 14 px; 27. 9. 2026) */
.nav{margin:0;padding:0;display:flex;align-items:center;gap:28px;text-transform:uppercase;font-size:var(--fs-sm);font-weight:var(--fw-heavy)}
.nav>li{list-style:none;position:relative;padding:31px 0;cursor:pointer}
.nav a:hover,.nav>li:hover{color:var(--orange)}
.lang{display:flex;gap:6px}
.lang a{font-size:var(--fs-xs);font-weight:var(--fw-heavy);background:#f4f4f0;padding:7px 8px;border-radius:var(--r-sm)}
.lang a.active{background:var(--orange);color:#fff}
.megamenu{display:none;position:absolute;top:78px;left:0;background:#fff;border:1px solid #ddd;box-shadow:var(--shadow-md);min-width:330px;text-transform:none;color:var(--dark);font-weight:var(--fw-normal);border-radius:var(--r-sm)}
.nav li:hover .megamenu{display:flex}
.mega-col{padding:18px 0;min-width:330px}
.mega-item{padding:17px 24px;font-size:var(--fs-lg);display:flex;justify-content:space-between;position:relative;color:var(--dark)}
.mega-item:hover{background:#fafaf7;color:var(--orange)}
.submenu{display:none;position:absolute;left:328px;top:-18px;background:white;border:1px solid #ddd;box-shadow:var(--shadow-md);min-width:290px;padding:18px 0;border-radius:var(--r-sm)}
.mega-item:hover .submenu{display:block}
.submenu a{display:block;padding:16px 24px;font-size:var(--fs-lg);color:var(--dark)}
.submenu a:hover{background:#fafaf7;color:var(--orange)}
.mobile{display:none;font-size:28px}
.breadcrumbs{background:#fff;border-bottom:1px solid var(--line);padding:14px 0;font-size:var(--fs-sm);color:var(--muted)}
.breadcrumbs span{margin:0 8px;}
.hero{background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.74)),url('hero-pattern.svg');background-size:cover;display:grid;align-items:center;padding:var(--sekcia) 0} /* slajd ako každá sekcia: obsah --sekcia od okraja, bodky v dolnom odsadení (13. 10. 2026; predtým 100/100 px, mobil 124/173) */
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.badge,.kicker{text-transform:uppercase;color:var(--orange);font-weight:var(--fw-heavy);letter-spacing:1px;font-size:var(--fs-sm)}
.kicker{color:var(--muted)}
h1{letter-spacing:-2px;color:var(--black);margin:0 0 20px}
h1 span,h2 span{color:var(--orange)}
h2{color:var(--green);letter-spacing:-1.5px;margin:10px 0 18px}
h3{color:var(--green);margin:0 0 12px}
.lead{line-height:1.6;color:var(--muted)}
p{line-height:1.65}
.buttons{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--btn-pad);border-radius:var(--r-sm);font-weight:var(--fw-heavy);text-transform:uppercase;border:1px solid transparent;cursor:pointer;gap:8px}
.btn.orange{background:var(--orange);color:white}
.btn.green{background:var(--green);color:white}
.btn.outline{border-color:var(--black);color:var(--black);background:white}
.video-box{height:430px;background:#111;border-radius:var(--r-md);box-shadow:var(--shadow-md);position:relative;overflow:hidden}
.video-box:before{content:"TCN";position:absolute;top:32px;right:38px;color:#fff;font-size:46px;font-weight:var(--fw-heavy)}
.machine-silhouette{position:absolute;left:72px;bottom:0;width:260px;height:360px;background:linear-gradient(90deg,#232323,#070707);border-radius:14px 14px 0 0;box-shadow:0 0 0 8px rgba(255,255,255,.05)}
.machine-silhouette:before{content:"";position:absolute;left:32px;top:38px;width:135px;height:220px;background:linear-gradient(135deg,#dc4444,#f8d24b,#2ca7df);border:8px solid #111}
.machine-silhouette:after{content:"CARD";position:absolute;right:18px;top:80px;background:#0c921b;color:#fff;padding:12px 8px;font-weight:var(--fw-heavy)}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:var(--r-kruh);background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--orange);font-size:34px}
.section{padding:var(--sekcia) 0}
/* Obsah začína a končí presne na odsadení sekcie (8. 10. 2026, nastroje/medzery_sekcii.mjs): okraj prvého/posledného
   prvku sa k nemu nepripočíta. Predtým +10 px hore (H1 stránky), +16 (posledný zoznam v texte), +17 (posledná otázka),
   +20 (upozornenie Služieb) — na 8 miestach. */
.stranka-uvod h1:first-child,.nadpis-stranky:first-child{margin-top:0}
.notice:last-child,.rich-text>:last-child,.rich-text>ul:last-child>li:last-child,.rich-text>ol:last-child>li:last-child,.faq-mini .item:last-child{margin-bottom:0}
.alt{background:var(--bg)}
.center{text-align:center;max-width:880px;margin:0 auto 50px}
.center p{font-size:var(--fs-lg);color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:28px;box-shadow:var(--shadow-sm)}
.card p,.card li{color:var(--muted)}
.card ul{padding-left:20px;line-height:1.65}
.product-card{padding:0;overflow:hidden}
.product-img{height:220px;background:linear-gradient(135deg,#151515,#444);position:relative}
.product-img:after{content:"TCN";position:absolute;right:20px;top:20px;color:white;font-weight:var(--fw-heavy);font-size:28px}
.product-card .body{padding:24px}
.why-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}
.faq-mini .item,.faq-grid .item{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:17px}
.faq-grid .item{margin-bottom:0}   /* v mriežke oddeľuje riadky gap 22 px — s okrajom 17 bolo medzi riadkami 39 px */
.faq-mini button,.faq-grid button{width:100%;border:0;background:#fff;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-lg);font-weight:var(--fw-heavy);color:var(--green);cursor:pointer;text-align:left}
.faq-mini .answer,.faq-grid .answer{display:none;padding:0 28px 24px;color:var(--muted);line-height:1.65;font-size:var(--fs-lg)}
.faq-mini .item.open .answer,.faq-grid .item.open .answer{display:block}
.panel{position:absolute;right:70px;top:360px;width:155px;height:230px;background:#11bd18;border-radius:var(--r-md)}
.finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.partner-logo{font-weight:var(--fw-heavy);}
.partner-logo:hover{color:var(--orange)}
.refs{position:relative}
.ref-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 28px}
.ref-card{min-width:calc((100% - 48px)/3);scroll-snap-align:start}
.stars{color:var(--orange);font-size:18px;letter-spacing:2px;margin-bottom:18px}
.quote{font-size:var(--fs-lg);line-height:1.65;color:var(--muted)}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 32px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form input,.form select,.form textarea{width:100%;padding:14px;border:1px solid #ddd;border-radius:var(--r-sm);font:inherit}
.form .full{grid-column:1/-1}
.form textarea{min-height:130px}
.map{height:380px;background:linear-gradient(135deg,#d9e6d4,#f5f5ee);display:grid;place-items:center;color:var(--green);font-weight:var(--fw-heavy);font-size:26px;border-radius:var(--r-md);text-align:center}
.related{margin-top:48px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md)}
.related h3,
.related h2{margin-top:0;color:var(--green)}
.related-links{display:flex;gap:14px;flex-wrap:wrap}
.related-links a{border:1px solid var(--line);padding:12px 16px;border-radius:var(--r-sm);background:#fafaf7;color:var(--green);font-weight:var(--fw-heavy)}
.related-links a:hover{color:#fff;background:var(--orange);border-color:var(--orange)}
.footer a{display:block;margin:9px 0;color:var(--text-on-dark)}
.whatsapp{position:fixed;right:22px;bottom:22px;background:#25d366;color:white;width:62px;height:62px;border-radius:var(--r-kruh);display:grid;place-items:center;font-weight:var(--fw-heavy);font-size:26px;z-index:100;box-shadow:var(--shadow-md)}
.notice{background:#fff8ef;border-left:5px solid var(--orange);padding:18px 22px;margin:20px 0;color:var(--text)}
@media(max-width:950px){
  .topbar{display:none}
  .nav,.lang{display:none}
  .mobile{display:block}
  
  
  .hero-grid,
.why-layout,
.finance-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .ref-card{min-width:calc((100% - 24px)/2)}
      }
@media(max-width:650px){
  .cards,
.faq-grid,
.form{grid-template-columns:1fr}
  .ref-card{min-width:88%}
  .video-box{height:320px}
        .panel{right:35px;top:320px;width:110px;height:165px}
    }


/* v4 social icons */
.social-icons a{
  place-items:center;
  font-weight:var(--fw-heavy);
}
.social-icons a:hover{
  border-color:var(--orange);
}


/* v5 official Vendea logo + original social colors */
.logo-img{
  width:auto;
  display:block;
}
.footer .logo-img,
.login-card .logo-img{
  height:38px;
  background:white;
  padding:4px;
  border-radius:var(--r-sm);
}
.social-icons a.facebook{border-color:#1877f2}
.social-icons a.instagram{
  border-color:transparent;
  background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4);
}
.social-icons a.youtube{border-color:#ff0000}
.social-icons a.x{border-color:#000}
.social-icons a.facebook:hover{background:#1877f2;color:white}
.social-icons a.youtube:hover{background:#ff0000;color:white}
.social-icons a.x:hover{background:#000;color:white}
.social-icons a.instagram:hover{filter:brightness(.95);transform:translateY(-1px)}


/* v6 announcement bar, partner logos, contact layout */
.announcement-bar{
  height:30px;
  background:var(--green);
  color:#fff;
  overflow:hidden;
  display:flex;
  align-items:center;
  font-weight:var(--fw-heavy);
  font-size:var(--fs-sm);
  white-space:nowrap;
}
.announcement-track{
  display:inline-block;
  padding-left:100%;
  animation:marquee 24s linear infinite;
}
@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-100%)}
}
.announcement-bar:hover .announcement-track{animation-play-state:paused}

.partner-strip{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:28px;
  margin-top:32px;
}
.partner-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  filter:grayscale(1);
  opacity:.72;
  transition:.2s ease;
}
.partner-item:hover{
  filter:grayscale(0);
  opacity:1;
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
}
.partner-item svg{
  max-width:100%;
  max-height:70px;
}
.contact-info-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:28px;
  text-align:center;
  margin-bottom:80px;
}
.contact-info-grid .contact-box{
  min-height:150px;
}
.contact-icon{
  line-height:1;
  margin-bottom:16px;
}
.contact-box h3,
.contact-box h2{
  color:var(--dark);
  font-size:var(--fs-h3);
  margin-bottom:14px;
}
.contact-box p,
.contact-box a{
  font-size:var(--fs-lg);
  line-height:1.5;
  color:var(--dark);
}
.contact-bottom-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:50px;
  text-align:center;
  margin-bottom:60px;
}
.contact-bottom-grid h3,
.contact-bottom-grid h2{
  color:var(--dark);
  font-size:var(--fs-h3);
}
.contact-bottom-grid p{
  font-size:var(--fs-lg);
  color:var(--dark);
}
@media(max-width:950px){
  .partner-strip{grid-template-columns:repeat(2,1fr)}
  .contact-info-grid{grid-template-columns:repeat(2,1fr)}
  .contact-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .partner-strip,.contact-info-grid{grid-template-columns:1fr}
}


/* v7 back to top + contact form standalone */
.back-to-top{
  position:fixed;
  right:22px;
  bottom:96px;
  width:54px;
  height:54px;
  border-radius:var(--r-kruh);
  background:var(--orange);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:26px;
  font-weight:var(--fw-heavy);
  z-index:101;
  box-shadow:var(--shadow-md);
  border:2px solid #fff;
}
.back-to-top:hover{
  background:var(--green);
}
.contact-form-wide{
  margin:0 auto 36px;
}
.contact-map-under{
  margin:0 auto;
}

:root{--green:#238112;}


/* v9 menu/contact refinements */
.mega-item,
.submenu a{
  font-family:var(--font);
  font-size:var(--fs-base);
  /* podmenu rovnakým písmom ako hlavné menu (Ivan 28. 9. 2026: „2 rovnaká") — predtým 800 a prestrih .2px */
  font-weight:var(--fw-normal);
  text-transform:uppercase;
}
.contact-info-grid,
.contact-bottom-grid{
  font-family:var(--font);
}
.contact-icon{
  font-size:38px;
  color:var(--orange);
}
.contact-box h3,
.contact-bottom-grid h3,
.contact-box h2,
.contact-bottom-grid h2{
  font-family:var(--font-heading);   /* ako všetky nadpisy (predtým Inter 900 — jediné nadpisy mimo Manrope, 27. 9. 2026) */
  font-weight:var(--fw-heavy);
  color:var(--green);
  font-size:var(--fs-h3);
}
.contact-box p,
.contact-box a,
.contact-bottom-grid p{
  font-family:var(--font);
  font-size:var(--fs-lg);
  color:var(--text);
}
.contact-map-under{
  max-width:none;
  width:100%;
  margin-top:36px;
}
.contact-map-under .map{
  width:100%;
  height:460px;
  border-radius:0;
}
/* Odkaz „Zobraziť na mape" v texte mapy (Nastavenia webu → Kontakt) vyzerá ako oranžové tlačidlo webu
   (schválené A8; mapa sa do stránky nevkladá kvôli cookies). */
.contact-map-under .map a{
  display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:var(--r-sm);
  font-weight:var(--fw-heavy);text-transform:uppercase;background:var(--orange);color:#fff;text-decoration:none;
  font-size:16px;margin-bottom:18px;
}
.contact-map-under .map a:hover{filter:brightness(.95)}


/* v12 global search, TCN section, tags, smaller machine params */
.search-trigger{
  font-weight:var(--fw-heavy);
  cursor:pointer;
}
.search-trigger:hover{border-color:var(--orange)}
.search-panel{
  display:none;
  position:fixed;
  inset:0;
  z-index:999;
  background:rgba(0,0,0,.55);
  padding:6vh 4vw;
}
.search-panel.active{display:block}
.search-box{
  max-width:880px;
  margin:0 auto;
  background:#fff;
  border-radius:var(--r-md);
  box-shadow:var(--shadow-md);
  padding:28px;
}
.search-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
}
.search-close{
  border:0;
  background:var(--orange);
  color:#fff;
  width:38px;
  height:38px;
  border-radius:var(--r-kruh);
  font-size:22px;
  cursor:pointer;
}
.search-input{
  width:100%;
  margin:22px 0;
  padding:17px 18px;
  border:2px solid var(--line);
  font-size:var(--fs-xl);
  border-radius:var(--r-sm);
}
.search-results{
  display:grid;
  gap:12px;
}
.search-result{
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  padding:14px 16px;
  background:#fafaf7;
}
.search-result strong{color:var(--green)}
.search-result small{display:block;color:var(--orange);font-weight:var(--fw-heavy);text-transform:uppercase;margin-top:4px}
.tags{
  margin-top:18px;
}
.tag{
  display:inline-flex;
  padding:7px 10px;
  border-radius:var(--r-pill);
  background:#eef7ec;
  color:var(--green);
  font-weight:var(--fw-heavy);
  font-size:var(--fs-sm);
  border:1px solid #d7ead2;
}




/* v15 objednavka predajneho automatu */
.order-section:not(.alt){
  background:#fff;
}
.order-intro{
  max-width:920px;
  margin:0 auto 52px;
  text-align:center;
}
.order-kicker{
  color:var(--muted);
  font-size:var(--fs-sm);
  letter-spacing:1px;
  text-transform:uppercase;
  font-weight:var(--fw-heavy);
}
.order-flow{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:0;
  position:relative;
}
.order-flow:before{
  content:"";
  position:absolute;
  height:2px;
  background:#e7e7df;
  z-index:0;
}
.order-card{
  position:relative;
  z-index:1;
}
.order-icon{
  margin:0 auto 20px;
  border-radius:var(--r-kruh);
  background:#fff;
  border:3px solid var(--orange);
  color:var(--orange);
  display:grid;
  place-items:center;
  box-shadow:var(--shadow-md);
}
.order-number{
  color:var(--orange);
  font-weight:var(--fw-heavy);
  font-size:30px;
  margin-bottom:8px;
}
.order-card h3{
  color:var(--green);
  text-transform:uppercase;
  margin-bottom:10px;
}
.order-card p{
  color:var(--muted);
  line-height:1.55;
}
.order-cta{
  text-align:center;
  margin-top:46px;
}
@media(max-width:1000px){
  .order-flow{grid-template-columns:repeat(3,1fr);gap:28px}
  .order-flow:before{display:none}
}
@media(max-width:650px){
  /* 2 kroky vedľa seba (13. 10. 2026: šesť krokov pod sebou malo na mobile 1 935 px — úvod „zbytočne dlhý") */
  .order-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
}


/* v16 real hero slider */
.hero{
  position:relative;
  overflow:hidden;
}
.hero-slider{
  position:relative;
  width:100%;
}
.hero-slide-real{
  display:none;
  align-items:center;
}
.hero-slide-real.active{
  display:grid;
}
/* bodky pod slajdom, posledná vec slidera — od nich --sekcia po okraj ako každá sekcia (16. 10. 2026, Ivan: od bodiek po
   „KATALÓG" 90 px, inde 128; bodky boli v strede dolného odsadenia, 26 px od okraja). Rovnaký rozostup ako pod recenziami. */
.hero-nav{
  position:relative;
  display:flex;
  justify-content:center;
  margin-top:22px;
  z-index:5;
}
.hero-dot{
  width:13px;
  height:13px;
  border-radius:var(--r-kruh);
  border:0;
  background:#ddd;
  cursor:pointer;
}
.hero-dot.active{
  background:var(--orange);
}
.hero-arrow{
  position:absolute;
  width:46px;
  height:46px;
  border-radius:var(--r-kruh);
  border:1px solid var(--line);
  background:#fff;
  color:var(--green);
  font-weight:var(--fw-heavy);
  z-index:5;
  cursor:pointer;
  box-shadow:var(--shadow-md);
}
.hero-arrow.left{left:24px}
.hero-arrow.right{right:24px}
.hero-arrow:hover{
  background:var(--orange);
  color:#fff;
}
.hero-visual-card{
  border-radius:var(--r-md);
  box-shadow:var(--shadow-md);
  position:relative;
  overflow:hidden;
  background:#111;
}
.hero-visual-card.light{
  background:linear-gradient(135deg,#eef7ec,#fff);
}
.hero-visual-card.finance{
  background:linear-gradient(135deg,#fff3e5,#ffffff);
}
.hero-visual-card:before{
  content:attr(data-title);
  position:absolute;
  top:32px;
  right:38px;
  color:#fff;
  font-size:44px;
  font-weight:var(--fw-heavy);
}
.hero-visual-card.light:before,
.hero-visual-card.finance:before{
  color:var(--green);
}
.hero-mini-machines{
  position:absolute;
  left:52px;
  right:52px;
  bottom:0;
  height:330px;
  display:flex;
  align-items:end;
  gap:20px;
}
.hero-mini-machines span{
  flex:1;
  height:100%;
  border-radius:14px 14px 0 0;
  background:linear-gradient(#f3f3f3,#cfd8cf);
  box-shadow:inset -34px 0 #20a514;
}
.hero-mini-machines span:nth-child(2){height:84%}
.hero-mini-machines span:nth-child(3){height:72%}
.hero-payment-icons{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  padding:100px 70px 70px;
}
.hero-payment-icons div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  display:grid;
  place-items:center;
  font-size:36px;
  font-weight:var(--fw-heavy);
  color:var(--green);
}
.hero-finance-box{
  position:absolute;
  inset:90px 70px 70px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.hero-finance-box div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  color:var(--green);
  font-weight:var(--fw-heavy);
}
@media(max-width:950px){
  .hero-slide-real .hero-grid{grid-template-columns:1fr;min-height:auto}
  .hero-slide-real{min-height:auto}
  .hero{min-height:auto}
  
}

/* v18 logo + language globe */

/* v19 financing typography + language selector */
.finance-steps{
  padding:0;
  gap:12px;
}
.finance-steps li{
  align-items:flex-start;
  gap:12px;
}
.finance-steps li::before{
  counter-increment:step;
  min-width:28px;
  height:28px;
  border-radius:var(--r-kruh);
  background:var(--orange);
  color:#fff;
  display:inline-grid;
  place-items:center;
  font-size:13px;
  font-weight:var(--fw-heavy);
  line-height:1;
  margin-top:1px;
}


/* v20 financing steps same style as Kúpa formou leasingu */
.finance-steps{
  display:block !important;
  margin:0 !important;
  counter-reset:none !important;
}
.finance-steps li{
  color:var(--muted) !important;
  font-family:var(--font) !important;
  font-size:inherit !important;
  font-weight:var(--fw-normal) !important;
}
.finance-steps li::before{
  content:none !important;
}

/* v21 financing bullets + language like TCN style */
.finance-steps{
 list-style:disc !important;
 padding-left:22px !important;
}
.finance-steps li{
 display:list-item !important;
 line-height:1.9 !important;
}


/* v22 full-width layout upgrade */
.container{
  max-width:none;
}
.hero{
  width:100%;
}
.section{
  width:100%;
}
@media(min-width:1400px){
  .ref-card{
    min-width:calc((100% - 72px)/4);
  }
}


/* v23 compact professional layout */
body{
  font-size:var(--fs-base);
}
h1{
  font-size:var(--fs-h1);
  line-height:1.15 !important;
}
h2{
  font-size:var(--fs-h2);
  line-height:1.2 !important;
}
h3{
  font-size:var(--fs-h3);
}
.section{
  padding-top:var(--sekcia) !important;
  padding-bottom:var(--sekcia) !important;
}
.lead{
  font-size:var(--fs-lg) !important;
}
.card,
.ref-card{
  padding:26px !important;
}
.nav a,
.menu a,
.nav .mega-item{
  /* menu jednotne 14 px (27. 9. 2026) — aj nadpisy skupín podmenu („Tovarové automaty ›"), ktoré sú tlačidlá, nie odkazy
     (28. 9.: ostali na 16 px, Ivan: „prečo je rozdielne písmo menu a podmenu") */
  font-size:var(--fs-sm) !important;
}
.hero-visual-card{
  height:340px !important;
}
.logo-img{
  height:54px !important;
}
.order-card{
  padding:0 6px !important;
}
.order-icon{
  width:72px !important;
  height:72px !important;
  font-size:30px !important;
}
.order-card h3{
  font-size:var(--fs-lg) !important;
}
.order-card p{
  /* text kroku je bežný text → 16 px podľa stupnice (28. 9. 2026 audit písma: 6 krokov malo 14 px, rola „drobný text") */
  font-size:var(--fs-base) !important;
}


/* v24 hybrid width layout */
.container{
  /* Obsah takmer od okraja po okraj (Ivan 5. 11. 2026 s fotkou monitora a giovani.sk: „vnútorné vyplnenie plochy
     stránky" — pri 1450 px bol na veľkom monitore obsah úzky pás v strede). Bočný okraj 16 px (mobil) až 48 px,
     strop 2200 px, aby riadky na obrovskej obrazovke neboli nekonečné. Predtým min(1450px, 92vw). */
  width:min(2200px, calc(100% - 2 * clamp(16px, 3.2vw, 48px))) !important;
  margin:0 auto;
}
/* Jedna šírka obsahu na celom webe (Ivan 27. 9. 2026: „zjednoť"). Úvodný slajder, katalóg a partneri na úvode
   mali 1600 px / 94vw („hybrid width layout" zo starej verzie) — o 14 px (1440) až 75 px (1920) na každú
   stranu širšie než hlavička a ostatné sekcie, okraje pri posúvaní úvodu skákali. Cez celú šírku ide len
   pozadie sekcie, obsah je v spoločnej osnove. Stráži skusky/jednotna_sirka.mjs (už bez týchto výnimiek). */


/* v25 partner carousel + professional icons */
.partner-logo{
  opacity:.85;
  transition:.3s;
}
.partner-logo:hover{
  filter:none;
  opacity:1;
}
.search-trigger::before{
  font-size:18px;
}


/* v26 professional unified header icons */
.social-icons{
  display:flex !important;
  align-items:center !important;
}
.social-icons a{
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:var(--r-sm) !important;
  font-size:0 !important;
  transition:.18s ease !important;
}
.social-icons a svg{
  width:19px;
  height:19px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.social-icons a.youtube svg,
.social-icons a.x svg,
.social-icons a.facebook svg,
.social-icons a.instagram svg{
  color:var(--green);
}
.social-icons a:hover{
  color:var(--orange) !important;
}
.search-trigger{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--green) !important;
  border-radius:var(--r-sm) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:0 !important;
  transition:.18s ease !important;
}
.search-trigger:hover{
  background:#f6f6f0 !important;
  color:var(--orange) !important;
}
.search-trigger::before{
  content:none !important;
}
.header-icon{
  width:22px;
  height:22px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.topbar .social-icons a{
  color:#7a7a7a !important;
}
.topbar .social-icons a:hover{
  color:var(--orange) !important;
  background:transparent !important;
}


/* v27 social original colors */
.social-icons a.facebook{color:#1877F2 !important;}
.social-icons a.instagram{
  color:#C13584 !important;
}
.social-icons a.youtube{color:#FF0000 !important;}
.social-icons a.x{color:#000000 !important;}

.social-icons a:hover{
  transform:scale(1.05) !important;
  background:transparent !important;
}

/* language icon like tcnvend */


/* v28 FORCE social colors */
.topbar .social-icons a.facebook,
.social-icons a.facebook{
 color:#1877F2 !important;
}
.topbar .social-icons a.instagram,
.social-icons a.instagram{
 color:#E1306C !important;
}
.topbar .social-icons a.youtube,
.social-icons a.youtube{
 color:#FF0000 !important;
}
.topbar .social-icons a.x,
.social-icons a.x{
 color:#000000 !important;
}

.topbar .social-icons a svg,
.social-icons a svg{
 width:22px !important;
 height:22px !important;
 stroke:currentColor !important;
}

.topbar .social-icons{
 gap:8px !important;
}

.topbar .social-icons a:hover.facebook{color:#1877F2 !important;}
.topbar .social-icons a:hover.instagram{color:#E1306C !important;}
.topbar .social-icons a:hover.youtube{color:#FF0000 !important;}
.topbar .social-icons a:hover.x{color:#000000 !important;}


/* v29 hard social icon fix */
.social-icons{
  gap:8px!important;
}
.social-icons a{
  color:inherit!important;
  background:transparent!important;
  border:0!important;
}
.social-icons a svg *{
  stroke:inherit;
}
.social-icons a.facebook svg,
.social-icons a.facebook svg *{stroke:#1877F2!important;}
.social-icons a.instagram svg,
.social-icons a.instagram svg *{stroke:#E1306C!important;}
.social-icons a.youtube svg,
.social-icons a.youtube svg *{stroke:#FF0000!important;}
.social-icons a.x svg,
.social-icons a.x svg *{stroke:#000000!important;}


/* v33 REAL social + footer logo fix */

.header-social a,
.footer-social a{
  background:transparent !important;
  transform:none !important;
}



.footer-social a.x{
  background:#ffffff !important;
}
.footer-social a:hover,
.header-social a:hover{
  opacity:.8 !important;
  background:transparent !important;
}
.footer-social a:hover{
  background:#ffffff !important;
}


.footer .logo-img,
.footer .logo{
  padding:0 !important;
}


/* v34 final footer/header logo and social fix */
.logo-img,
.header .logo-img,
.footer .logo-img{
  height:54px !important;
  width:auto !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  display:block !important;
}


/* v35 final footer brand and visible social icons */
.header-social a:hover,
.footer-social a:hover{
  opacity:.82 !important;
  transform:translateY(-1px) !important;
}


/* v36 final: social icons only top right; clean footer logo */
.header-social{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}
.header-social a{
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
}
.header-social svg{
  width:21px !important;
  height:21px !important;
  fill:none !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.header-social .facebook svg{stroke:#1877F2 !important;}
.header-social .instagram svg{stroke:#E1306C !important;}
.header-social .youtube svg{stroke:#FF0000 !important;}
.header-social .x svg{stroke:#111111 !important;}
.footer-social,
.footer .social-icons{
  display:none !important;
}


/* v37 final: header social + footer social, no middle duplicates */
.header-social,
.footer-social{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}
.header-social a,
.footer-social a{
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  text-decoration:none !important;
}
.header-social a{
  background:transparent !important;
  border-radius:var(--r-sm) !important;
}
.header-social svg,
.footer-social svg{
  width:21px !important;
  height:21px !important;
  fill:none !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.header-social .facebook svg,
.footer-social .facebook svg{stroke:#1877F2 !important;}
.header-social .instagram svg,
.footer-social .instagram svg{stroke:#E1306C !important;}
.header-social .youtube svg,
.footer-social .youtube svg{stroke:#FF0000 !important;}
.header-social .x svg,
.footer-social .x svg{stroke:#111111 !important;}

.footer .logo-img,
.footer .logo{
  background:transparent !important;
}


/* v38 footer rebuilt and aligned */



/* v39 footer final rebuild */
.footer{
  background:#111 !important;
  color:var(--text-on-dark) !important;
  padding:56px 0 !important;
}
.footer-grid-fixed{
  display:grid !important;
  grid-template-columns:1.45fr 1fr 1fr 1.2fr !important;
  gap:44px !important;
  align-items:start !important;
}
.footer-brand{
  display:block !important;
  text-align:left !important;
}
.footer-logo-img{
  display:block !important;
}
.footer-brand p{
  display:block !important;
  color:#ffffff !important;
  margin:0 0 14px 0 !important;
  line-height:1.55 !important;
  max-width:350px !important;
}
.footer-col{
  display:block !important;
  text-align:left !important;
}
.footer h4,
.footer h2{
  display:block !important;
  color:#fff !important;
  margin:0 0 16px 0 !important;
  font-weight:var(--fw-heavy) !important;
  font-size:var(--fs-base) !important;
}
.footer a,
.footer .footer-col > span{
  display:block !important;
  color:var(--text-on-dark) !important;
  margin:8px 0 !important;
  line-height:1.35 !important;
  text-decoration:none !important;
}
.footer-social{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:14px !important;
}
.footer-social a{
  width:34px !important;
  height:34px !important;
  border-radius:var(--r-kruh) !important;
  background:#ffffff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
}
.footer-social svg{
  width:21px !important;
  height:21px !important;
  fill:none !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.footer-social .facebook svg{stroke:#1877F2 !important;}
.footer-social .instagram svg{stroke:#E1306C !important;}
.footer-social .youtube svg{stroke:#FF0000 !important;}
.footer-social .x svg{stroke:#111111 !important;}

@media(max-width:900px){
  .footer-grid-fixed{
    grid-template-columns:1fr 1fr !important;
  }
}
@media(max-width:600px){
  .footer-grid-fixed{
    grid-template-columns:1fr !important;
  }
}


/* v40 HARD FIX - show footer social icons despite older CSS */
.footer .footer-social,
.footer .social-icons.footer-social{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:14px !important;
  height:auto !important;
  overflow:visible !important;
}
.footer .footer-social a,
.footer .social-icons.footer-social a{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  border-radius:var(--r-kruh) !important;
  background:#ffffff !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
}
.footer .footer-social svg,
.footer .social-icons.footer-social svg{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:21px !important;
  height:21px !important;
  fill:none !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.footer .footer-social .facebook svg,
.footer .social-icons.footer-social .facebook svg{stroke:#1877F2 !important;}
.footer .footer-social .instagram svg,
.footer .social-icons.footer-social .instagram svg{stroke:#E1306C !important;}
.footer .footer-social .youtube svg,
.footer .social-icons.footer-social .youtube svg{stroke:#FF0000 !important;}
.footer .footer-social .x svg,
.footer .social-icons.footer-social .x svg{stroke:#111111 !important;}


/* v41 contact social icons + sharper footer logo */

.footer-logo-img{
  image-rendering:auto !important;
  transform:translateZ(0) !important;
  backface-visibility:hidden !important;
  height:54px !important;
  width:auto !important;
}


/* v42 contact restore + footer logo transparent only */
.contact-social{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:10px !important;
}
.contact-social a{
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
}
.contact-social svg{
  width:22px !important;
  height:22px !important;
  fill:none !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.contact-social .facebook svg{stroke:#1877F2 !important;}
.contact-social .instagram svg{stroke:#E1306C !important;}
.contact-social .youtube svg{stroke:#FF0000 !important;}
.contact-social .x svg{stroke:#111111 !important;}

.footer-logo-img{
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
}


/* v43 identical logo source/size in header and footer */
.header .logo-img,
.logo-img,
.footer-logo-img{
  height:54px !important;
  width:auto !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  display:block !important;
  /* Úzka hlavička na mobile stlačí rám loga (390 px: 162 × 54) — logo sa nesmie zdeformovať (28. 9. 2026: PNG bolo
     pri object-fit:fill zúžené na 74 % šírky). contain = celé logo v pomere strán, zarovnané vľavo. */
  object-fit:contain !important;
  object-position:left center !important;
}
.footer-logo-img{
  margin:0 0 16px 0 !important;
}


/* v44 visual fixes */
.tcn-green{color:var(--green)!important}
.hero-arrow{top:50%!important;transform:translateY(-50%)!important;place-items:center!important;}



/* v45 order icons unified + centered */
.order-flow{
  align-items:start !important;
}
.order-flow:before{
  top:36px !important;
  left:8% !important;
  right:8% !important;
}
.order-icon{
  margin-left:auto !important;
  margin-right:auto !important;
}
.order-svg-icon{
  width:74px !important;
  height:74px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:3px solid var(--orange) !important;
  border-radius:var(--r-kruh) !important;
  background:#fff !important;
  color:var(--orange) !important;
}
.order-svg-icon svg{
  width:38px !important;
  height:38px !important;
  stroke:currentColor !important;
  fill:none !important;
  stroke-width:3 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.order-number{
  text-align:center !important;
}
.order-card{
  text-align:center !important;
}
.order-card h3{
  text-align:center !important;
}
.order-card p{
  text-align:center !important;
}


/* v46 exact centering for circular slider arrows */

/* Hero carousel arrows */
.hero-arrow{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  line-height:1 !important;
  text-align:center !important;
  font-size:0 !important;
}
.hero-arrow.left::before{
  content:"‹";
  display:block;
  font-size:34px;
  line-height:1;
  transform:translateY(-2px);
}
.hero-arrow.right::before{
  content:"›";
  display:block;
  font-size:34px;
  line-height:1;
  transform:translateY(-2px);
}




/* Parametre automatu TCN: „+" na častiach automatu, popis v bubline pri bode (Ivan 29. 9. 2026 „skús spraviť 1").
   Bez skriptu sa bublina ukáže pod myšou/fokusom (CSS); s app.js aj ťukom (.otvoreny), na mobile zospodu obrazovky.
   Pozadie sekcie určuje trieda .alt. */
.tcn-params-layout{display:flex;justify-content:center;margin-top:42px}
.tcn-machine-stage{position:relative;margin:0 auto;width:min(560px,100%)}
.tcn-machine-img{display:block;width:100%;height:auto}
.tcn-bod{position:absolute;width:0;height:0;z-index:3}
.tcn-bod:hover,.tcn-bod:focus-within,.tcn-bod.otvoreny{z-index:6}
.tcn-hotspot{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:32px;height:32px;padding:0;border-radius:var(--r-kruh);border:3px solid #fff;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:var(--fw-heavy);line-height:1;cursor:pointer;box-shadow:var(--shadow-float);transition:background-color .15s,transform .15s}
.tcn-hotspot::after{content:"";position:absolute;inset:-7px;border-radius:var(--r-kruh);border:1px solid rgba(237,111,0,.28);animation:tcnPulse 1.8s infinite}
@keyframes tcnPulse{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.45);opacity:0}}
.tcn-hotspot:hover,.tcn-bod:focus-within .tcn-hotspot,.tcn-bod.otvoreny .tcn-hotspot{background:var(--green);transform:translate(-50%,-50%) scale(1.12)}
.tcn-bublina{position:absolute;top:0;width:260px;transform:translateY(-50%);background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow-md);border-top:4px solid var(--orange);padding:14px 16px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,visibility .15s}
/* Bublina vo voľnom mieste vedľa automatu (Ivan 29. 9. 2026: „aby text nešiel vždy do automatu, ale do voľného
   priestoru"): od bodu po okraj automatu je var(--x) % šírky automatu (1cqw = 1 % šírky .tcn-machine-stage),
   bublina začína 24 px za okrajom; čiara ju spája s bodom. Kým vedľa automatu nie je miesto (≤ 1000 px), ostáva pri bode. */
.tcn-machine-stage{container-type:inline-size}
.bublina-vpravo .tcn-bublina{right:26px}
.bublina-vlavo .tcn-bublina{left:26px}
@media(min-width:1001px){
  .bublina-vlavo .tcn-bublina{left:auto;right:calc(var(--x) * 1cqw + 24px);width:min(260px,calc(50vw - 50cqw - 40px))}
  .bublina-vpravo .tcn-bublina{right:auto;left:calc((100 - var(--x)) * 1cqw + 24px);width:min(260px,calc(50vw - 50cqw - 40px))}
  .tcn-bublina::after{content:"";position:absolute;top:50%;height:2px;background:var(--orange);transform:translateY(-50%)}
  .bublina-vlavo .tcn-bublina::after{left:100%;width:calc(var(--x) * 1cqw + 24px - 16px)}
  .bublina-vpravo .tcn-bublina::after{right:100%;width:calc((100 - var(--x)) * 1cqw + 24px - 16px)}
}
.tcn-bod:hover .tcn-bublina,.tcn-bod:focus-within .tcn-bublina,.tcn-bod.otvoreny .tcn-bublina{opacity:1;visibility:visible;pointer-events:auto}
.tcn-bublina h3{margin:0 0 6px;color:var(--green);font-size:var(--fs-base)!important}
.tcn-bublina p{margin:0;color:var(--text);font-size:var(--fs-sm);line-height:1.55}
.tcn-bublina-zavriet{display:none}
/* mobil: bublina by sa vedľa bodu nezmestila — vysunie sa zospodu obrazovky, s ×; bez ukázania myšou */
@media(max-width:700px){
  .tcn-machine-stage{width:min(420px,100%)}
  .tcn-hotspot{width:24px;height:24px;font-size:20px;border-width:2px}
  .tcn-bod:hover .tcn-bublina,.tcn-bod:focus-within .tcn-bublina{opacity:0;visibility:hidden;pointer-events:none}
  .tcn-bublina,.bublina-vpravo .tcn-bublina,.bublina-vlavo .tcn-bublina{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;transform:none;z-index:120;padding:16px 48px 18px 18px;box-shadow:var(--shadow-float)}
  .tcn-bod.otvoreny .tcn-bublina{opacity:1;visibility:visible;pointer-events:auto}
  .tcn-bublina-zavriet{display:grid;place-items:center;position:absolute;top:6px;right:6px;width:36px;height:36px;border:0;background:transparent;color:var(--text);font-size:26px;line-height:1;cursor:pointer;border-radius:var(--r-sm)}
  .tcn-bublina-zavriet:hover{color:var(--orange-text)}
}
@media (prefers-reduced-motion: reduce){.tcn-hotspot::after{animation:none}.tcn-hotspot,.tcn-bublina{transition:none}}


/* v53 remove hero slider arrows */
.hero-arrow,
.hero-arrow.left,
.hero-arrow.right{
  display:none !important;
  visibility:hidden !important;
}


/* v54 Aktuality blog system */
.blog-page{background:#f5f5ef!important}
.blog-title{max-width:900px;margin:0 auto 30px}
.blog-tags{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-bottom:34px;
}
.blog-tags button{
  border:1px solid var(--line);
  background:#fff;
  border-radius:var(--r-pill);
  padding:9px 14px;
  font-weight:var(--fw-heavy);
  color:var(--text);
}
.blog-tags button.active,
.blog-tags button:hover{
  background:var(--orange);
  border-color:var(--orange);
  color:#fff;
}
.blog-layout{
  display:grid;
  align-items:start;
}
.blog-grid{
  display:grid;
}
.blog-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.blog-img{
  background:linear-gradient(135deg,var(--green),#1f3f1c);
  display:grid;
  place-items:center;
  font-weight:var(--fw-heavy);
}
.blog-img.small{
  min-height:145px;
  font-size:28px;
}
.blog-meta{
  color:var(--orange);
  font-weight:var(--fw-heavy);
  font-size:var(--fs-sm);
  margin-bottom:10px;
}
.blog-body h3,
.blog-body h2{
  color:var(--green);
  margin-bottom:10px;
}
.blog-sidebar{
  display:grid;
  gap:18px;
}
.side-box{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:22px;
}
.side-box h3,
.side-box h2{
  color:var(--green);
  margin-bottom:12px;
}
.side-box a:not(.btn){
  display:block;
  margin:10px 0;
  color:var(--text);
  font-weight:var(--fw-bold);
}
.blog-tag-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.blog-tag-cloud span{
  background:#eef7ec;
  color:var(--green);
  border:1px solid #d7ead2;
  padding:7px 10px;
  border-radius:var(--r-pill);
  font-weight:var(--fw-heavy);
  font-size:var(--fs-sm);
}
/* .orange-side: oranžový pás hore odstránený (Ivan 14. 10. 2026: „prečo má Máte záujem o automat? na vrchu oranžový pás?") —
   nič iné na webe ho nemá, výzvu zvýrazňuje oranžové tlačidlo; rámček vyzerá ako ostatné karty v bočnom paneli. */
.article-main{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:38px;
}





/* Accordion style only for the four approved Prečo TCN texts */









/* hide old geometric placeholder layers if present */
#o-tcn .hero-visual-card{
  background-image:none !important;
}

/* Keep accordion/questions in original style, only with approved text */
#o-tcn summary{
  color:var(--green) !important;
}


/* v65 professional comparison cleanup */












/* v66 safeguard for Výhody automatov TCN accordion */


/* v70: Výhody automatov TCN - prevent sibling card expansion */
.vyhody-tcn-section .faq-grid{
  align-items:start !important;
}
.vyhody-tcn-section .faq-grid .item{
  align-self:start !important;
  height:auto !important;
  min-height:0 !important;
}
.vyhody-tcn-section .faq-grid .item:not(.open) .answer{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin:0 !important;
  overflow:hidden !important;
}
.vyhody-tcn-section .faq-grid .item.open .answer{
  display:block !important;
  height:auto !important;
  overflow:visible !important;
}


/* v72 FINAL - Prečo TCN comparison only */
.preco-tcn-compare-section .why-layout{
  display:grid !important;
  grid-template-columns:1.05fr .95fr !important;
  gap:48px !important;
  align-items:center !important;
}






/* Full-area draggable comparison control */





@media(max-width:1100px){
  .preco-tcn-compare-section .why-layout{
    grid-template-columns:1fr !important;
  }
  
}













/* v74 HM-style comparison window in Prečo TCN */
.preco-tcn-compare-section .hm-compare-wrap{
  width:100% !important;
}


.preco-tcn-compare-section .hm-pane{
  min-width:0 !important;
}

.preco-tcn-compare-section .hm-old-pane{
  grid-column:1 !important;
}

.preco-tcn-compare-section .hm-new-pane{
  grid-column:2 !important;
}






/* <strong> v texte s hrúbkou 800 by prehliadač urobil 900 („bolder") — stupnica má najviac 800 (27. 9. 2026) */
.preco-tcn-compare-section .hm-compare-labels strong{font-weight:inherit}
.preco-tcn-compare-section .hm-compare-labels{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  margin-top:12px !important;
  color:var(--green) !important;
  font-weight:var(--fw-heavy) !important;
  font-size:var(--fs-lg) !important;
}

/* Old compare CSS must not affect new HM-style compare */
.preco-tcn-compare-section .hm-compare .old,
.preco-tcn-compare-section .hm-compare .new,
.preco-tcn-compare-section .hm-compare .line,
.preco-tcn-compare-section .hm-compare .knob{
  display:none !important;
}




/* v75 Prečo TCN - true overlay before/after comparison */
.preco-tcn-compare-section .hm-compare{
  --split:50%;
  position:relative !important;
  display:block !important;
  grid-template-columns:none !important;
  width:100% !important;
  height:420px !important;
  min-height:420px !important;
  max-height:420px !important;
  background:#f2f2f2 !important;
  border-radius:var(--r-md) !important;
  overflow:hidden !important;
  box-shadow:var(--shadow-md) !important;
}

.preco-tcn-compare-section .hm-pane{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#f2f2f2 !important;
}

.preco-tcn-compare-section .hm-old-pane{
  z-index:1 !important;
}

.preco-tcn-compare-section .hm-new-pane{
  z-index:2 !important;
  clip-path:inset(0 0 0 var(--split)) !important;
}

.preco-tcn-compare-section .hm-pane img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-height:90% !important;
  max-width:90% !important;
  object-fit:contain !important;
}

/* Same visual scale for both machines so they overlap naturally */
.preco-tcn-compare-section .hm-old-pane img{
  max-height:86% !important;
  max-width:88% !important;
}

.preco-tcn-compare-section .hm-new-pane img{
  max-height:90% !important;
  max-width:90% !important;
}

.preco-tcn-compare-section .hm-divider{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  left:var(--split) !important;
  width:4px !important;
  background:#fff !important;
  transform:translateX(-50%) !important;
  z-index:8 !important;
  pointer-events:none !important;
}

.preco-tcn-compare-section .hm-knob{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:58px !important;
  height:58px !important;
  border-radius:var(--r-kruh) !important;
  background:#fff !important;
  color:var(--orange) !important;
  display:grid !important;
  place-items:center !important;
  font-size:24px !important;
  font-weight:var(--fw-heavy) !important;
  box-shadow:var(--shadow-float) !important;
}

.preco-tcn-compare-section .hm-range{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  z-index:20 !important;
  cursor:ew-resize !important;
  margin:0 !important;
  pointer-events:auto !important;
}

@media(max-width:1100px){
  .preco-tcn-compare-section .hm-compare{
    height:400px !important;
    min-height:400px !important;
    max-height:400px !important;
  }
}

@media(max-width:760px){
  .preco-tcn-compare-section .hm-compare{
    height:340px !important;
    min-height:340px !important;
    max-height:340px !important;
  }
  .preco-tcn-compare-section .hm-old-pane img{
    max-height:82% !important;
    max-width:86% !important;
  }
  .preco-tcn-compare-section .hm-new-pane img{
    max-height:86% !important;
    max-width:88% !important;
  }
}


/* v76 CMS text sections */

/* Public single-open rendered accordions */
.faq-mini .item:not(.open) .answer,
.faq-grid .item:not(.open) .answer{
  display:none !important;
}
.faq-mini .item.open .answer,
.faq-grid .item.open .answer{
  display:block !important;
}


/* v77 Blog CMS and public renderer */
.blog-card .btn.orange{
  padding:var(--btn-pad-sm)!important;
  font-size:var(--fs-sm)!important;
  min-width:auto !important;
}


/* v78 jednotné rozloženie automatov */
.product-catalog-section .center{
  max-width:900px;
  margin:0 auto 32px;
}
.product-filter-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin:18px 0 34px;
}
.product-filter-row button{
  border:1px solid var(--line);
  background:#fff;
  padding:10px 15px;
  border-radius:var(--r-pill);
  color:var(--green);
  font-weight:var(--fw-heavy);
  cursor:pointer;
}
.product-filter-row button.active,
.product-filter-row button:hover{
  background:var(--orange);
  border-color:var(--orange);
  color:#fff;
}
.uniform-product-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.product-uniform-card{
  background:#fff;
  border-radius:var(--r-md);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  display:flex;
  flex-direction:column;
}
.product-card-image{
  min-height:260px;
  background:#f7f7f3;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
}
.product-card-image img{
  max-width:100%;
  max-height:230px;
  object-fit:contain;
}
.product-card-body{
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1;
}
.product-category{
  color:var(--orange);
  text-transform:uppercase;
  font-weight:var(--fw-heavy);
  font-size:var(--fs-xs);
  letter-spacing:.04em;
}
.product-card-body h3,
.product-summary h1,
.product-card-body h2{
  color:var(--green);
}
.product-card-body p{
  color:var(--muted);
  line-height:1.55;
}
.product-card-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:auto;
  justify-content:center;
}
.product-card-actions .btn{
  padding:var(--btn-pad-sm)!important;
  font-size:var(--fs-sm) !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  text-align:center;
}

.product-detail-v78{
  background:#f5f5ef;
}
.product-gallery{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:24px;
  box-shadow:var(--shadow-sm);
}
.main-product-image{
  height:470px;
  background:#f8f8f4;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--r-md);
}
.main-product-image img{
  max-width:100%;
  max-height:430px;
  object-fit:contain;
}
.product-thumbs{
  display:flex;
  gap:12px;
  justify-content:center;
  margin-top:18px;
}
.thumb{
  width:74px;
  height:74px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:var(--r-sm);
  padding:5px;
  cursor:pointer;
}
.thumb.active{
  border:2px solid var(--orange);
}
.thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.product-summary{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:30px;
  box-shadow:var(--shadow-sm);
}
.product-summary h1{
  margin:8px 0 14px;
  font-size:var(--fs-h2);
}
.product-short{
  color:var(--muted);
  line-height:1.65;
  font-size:var(--fs-lg);
}
.product-cta-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:24px 0;
}
.product-cta-row .btn{
  padding:var(--btn-pad)!important;
  font-size:var(--fs-base) !important;
}
/* 8. 10. 2026 (Ivan „dopyt | brožúra vedľa seba"): v hornom riadku krátky text dopytu („Poslať dopyt") aj na počítači —
   tlačidlá vedľa seba majú rovnakú šírku a dva dlhé texty sa do polovice nezmestia. Celý názov ostáva v aria-label
   a v záverečnom okne. */
.product-cta-row .btn .text-dlhy{display:none}
.product-cta-row .btn .text-kratky{display:inline}
.leasing-box{
  border:1px solid var(--line);
  background:#fafafa;
  border-radius:var(--r-md);
  padding:18px;
  margin:20px 0;
}
.leasing-box h2,
.center .leasing-box h2{
  /* H2 (nie H3) — poradie nadpisov na detaile nesmie preskočiť z H1 na H3 (audit 28. 9. 2026); vzhľad ako doteraz H3:
     line-height normal (všeobecné h2 má 1.2 !important), bez zúženia písmen (.center h2 −0.04em) */
  font-size:var(--fs-h3);
  line-height:normal !important;
  letter-spacing:normal;
  margin:0 0 6px;
  color:var(--black);
}
.leasing-box p{
  color:var(--muted);
  font-size:var(--fs-base);
  margin-bottom:14px;
}
.leasing-partners{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));   /* 1fr = min. šírka obsahu → v polovici pri 1024 px karta Grenke pretiekla (8. 10. 2026) */
  gap:10px;
}
.leasing-card{
  background:#fff;
  border:1px solid #ddd;
  border-radius:var(--r-md);   /* karta s logom = plocha (8 px), nie ovládací prvok (5. 11. 2026, inventúra zaoblení) */
  padding:12px;
  text-decoration:none;
  color:var(--black);
}
.leasing-card strong{
  display:block;
  color:var(--black);
  font-size:var(--fs-sm);
}
.leasing-card span{
  color:var(--muted);
  font-size:var(--fs-sm);
}
.leasing-card.orange{
  background:var(--orange);
  border-color:var(--orange);
  color:#fff;
}
.leasing-card.orange strong,
.leasing-card.orange span{
  color:#fff;
}
.orange-list{
  margin-left:20px;
}
.orange-list li{
  margin:7px 0;
  line-height:1.65; /* ako odseky (p) — predtým „normal" ≈ 1,2, na viacriadkový text husté (audit písma 28. 9. 2026) */
}
.orange-list li::marker{
  color:var(--orange);
  font-weight:var(--fw-heavy);
}
.product-param-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}
.product-param-table th,
.product-param-table td{
  border:1px solid #ddd;
  padding:13px 15px;
}
.product-param-table th{
  width:260px;
  font-weight:var(--fw-heavy);
  background:#f7f7f3;
  text-align:left;
}

@media(max-width:1150px){
  .uniform-product-grid{
    grid-template-columns:repeat(2,1fr);
  }
  }
@media(max-width:700px){
  .uniform-product-grid{
    grid-template-columns:1fr;
  }
  .main-product-image{
    height:360px;
  }
  .product-summary h1{
    font-size:var(--fs-h2);
  }
  .leasing-partners{
    grid-template-columns:1fr;
  }
  }


/* v79 real TCN-CEL-9C(V22) product */


/* v81 premium official TCN presentation */
.official-tcn-showcase{
  padding-top:var(--sekcia) !important;
  padding-bottom:var(--sekcia) !important;
}
/* Hore video (väčšie) + nadpis a text vedľa neho, pod tým výhody, čísla a tlačidlá na celú šírku (30. 9. 2026 — predtým
   video 572 px vedľa 720 px vysokého stĺpca, nad ním a pod ním prázdno). Mobil: video, text, karty pod sebou. */
.official-tcn-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) !important;
  column-gap:56px !important;
  row-gap:44px !important;
  align-items:center !important;
}
.official-tcn-details{
  grid-column:1 / -1 !important;
}
/* karty a pod nimi tlačidlá, odsadené 32 px (čísla TCN zrušené 30. 9. 2026) */
.official-tcn-details .official-benefits{
  margin:0 !important;
}
.official-tcn-details .official-buttons{
  margin-top:32px !important;
  justify-content:center !important;
}
.official-video-card{
  background:#161616 !important;
  border-radius:var(--r-md) !important;
  overflow:hidden !important;
  box-shadow:var(--shadow-float) !important;
  cursor:pointer !important;
  position:relative !important;
  transition:transform .25s ease, box-shadow .25s ease !important;
}
.official-video-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:var(--shadow-float) !important;
}
.official-video-media{
  min-height:0 !important;   /* výšku dáva pomer strán videa z adminu (30. 9. 2026; predtým 430 px = sivé pruhy) */
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(135deg,#111,#2b2b2b) !important;
  overflow:hidden !important;
}
.official-video-media::before{
  position:absolute !important;
  right:34px !important;
  top:32px !important;
  color:rgba(255,255,255,.88) !important;
  font-size:48px !important;
  font-weight:var(--fw-heavy) !important;
  letter-spacing:.04em !important;
}
.official-video-media img{
  max-height:360px !important;
  max-width:72% !important;
  object-fit:contain !important;
  position:relative !important;
  z-index:2 !important;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.35)) !important;
}
.official-video-caption{
  display:flex !important;
  justify-content:space-between !important;
  gap:18px !important;
  align-items:center !important;
  background:#fff !important;
  padding:18px 22px !important;
}
.official-video-caption strong{
  color:var(--black) !important;
}
.official-video-caption span{
  color:var(--muted) !important;
  font-size:var(--fs-sm) !important;
}
.official-tcn-content h2{
  max-width:860px !important;
  line-height:1.12 !important;
}
/* aj text kariet výhod (od 30. 9. 2026 mimo .official-tcn-content — veľkosť ostáva, ako bola) */
.official-tcn-content p,
.official-tcn-details .official-benefits p{
  color:var(--muted) !important;
  line-height:1.68 !important;
  font-size:var(--fs-lg) !important;
}
.official-benefits{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:14px !important;
  margin:28px 0 22px !important;
}
.official-benefits div{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.07) !important;
  border-radius:var(--r-md) !important;
  padding:18px !important;
  box-shadow:var(--shadow-sm) !important;
}
.official-benefits strong{
  display:block !important;
  color:var(--green) !important;
  font-size:var(--fs-lg) !important;
  margin-bottom:8px !important;
}
.official-benefits span{
  color:var(--muted) !important;
  font-size:var(--fs-sm) !important;
  line-height:1.45 !important;
}
.official-tcn-facts{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:14px !important;
  margin:22px 0 28px !important;
}
.official-tcn-facts div{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.07) !important;
  border-radius:var(--r-md) !important;
  padding:18px !important;
  text-align:center !important;
}
.official-tcn-facts strong{
  display:block !important;
  color:var(--orange) !important;
  font-size:var(--fs-h3) !important;
  font-weight:var(--fw-heavy) !important;
  margin-bottom:4px !important;
}
.official-tcn-facts span{
  color:var(--black) !important;
  font-size:var(--fs-sm) !important;
}
.official-buttons{
  margin-top:10px !important;
}
@media(max-width:1150px){
  .official-tcn-grid{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:760px){
  .official-tcn-showcase{
    padding-top:var(--sekcia) !important;   /* predtým 56 px natvrdo — pri zmene --sekcia ostala jediná iná (8. 10. 2026) */
    padding-bottom:var(--sekcia) !important;
  }
  .official-video-media img{
    max-height:260px !important;
  }
  .official-benefits,
  .official-tcn-facts{
    grid-template-columns:1fr !important;
  }
  .official-video-caption{
    display:block !important;
  }
  .official-video-caption span{
    display:block !important;
    margin-top:4px !important;
  }
}

/* v82 admin link support */


/* v83 References: homepage preview + all references page */


/* v84 References slider: slow automatic carousel, dots only, no orange block */
.refs-slider-v84{position:relative;margin:0 auto}
@keyframes fadeRefV84{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.ref-dots{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:22px}
/* bodky prepínača sú koniec sekcie: od nich 64/48 px po okraj ako pri každej inej (16. 10. 2026, Ivan „vzdialenosti
   vždy a všade rovnaké" — 8. 10. ležali v spodnom odsadení, 30/14 px od okraja, a oko meria k nim, nie ku kartám) */
.ref-dot{width:12px;height:12px;border-radius:var(--r-kruh);border:1px solid #c8c8c2;background:#fff;cursor:pointer;transition:.2s ease}
.ref-dot.active{background:var(--orange);border-color:var(--orange);transform:scale(1.08)}
.person{font-weight:var(--fw-heavy);color:var(--dark);margin-top:22px;border-left:0 !important;padding-left:0 !important;display:flex;flex-direction:column;gap:4px}
.person strong{font-size:var(--fs-lg);line-height:1.3;color:var(--black);font-weight:var(--fw-heavy)}   /* nie „bolder" z 800 → 900 */
.person small{font-size:var(--fs-base);line-height:1.45;color:var(--text)}
/* Referencia → článok o projekte (5. 11. 2026, server/referencie-clanky.js): klikateľný text, pod myšou oranžový. */
.ref-projekt{display:inline-block;margin-top:14px;color:var(--green);font-weight:var(--fw-heavy);text-decoration:underline;text-underline-offset:3px}
.ref-projekt:hover{color:var(--orange)}
.ref-projekt:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:var(--r-sm)}


/* v85 References: 3 cards visible at once */
/* Referencie na plnú šírku obsahu (Ivan 27. 9. 2026) — predtým max. 1280 px a 4 px bočné odsadenie: karty o 26 px
   (1440) až 85 px (1920) na každej strane užšie než hlavička a ostatné sekcie. Strany sa prelínajú, nie posúvajú —
   orezávanie netreba (tiene kariet ostanú celé). */
.refs-slider-v84{max-width:none}
.refs-slider-v84 .ref-track{display:block;overflow:visible;padding:8px 0 0}
.ref-page-v85{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.ref-page-v85.active{display:grid;animation:fadeRefV84 .45s ease}
.reference-card-v85{display:flex;flex-direction:column;min-width:0 !important;max-width:none;margin:0;height:100%}
.reference-card-v85 .quote{flex:1}
@media(max-width:1024px){
  .ref-page-v85{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .ref-page-v85{grid-template-columns:1fr}
}




/* v87 product filters and breadcrumbs */
.product-empty-state{
  grid-column:1/-1;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:28px;
  text-align:center;
  color:var(--muted);
  font-weight:var(--fw-heavy);
}
.breadcrumbs span:last-of-type{
  color:var(--muted);
}


/* v88 breadcrumb + product card corrections */
.product-filter-row button{
  border-color:#d8d8d0 !important;
}
.product-filter-row button:not(.active){
  color:var(--green) !important;
}
.product-filter-row button.active{
  color:#fff !important;
  border-color:var(--orange) !important;
}


/* v89 product hover border and leasing partner logos */
.product-uniform-card{
  border:1px solid var(--line) !important;
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}
.product-uniform-card:hover{
  border-color:var(--orange) !important;
  box-shadow:0 18px 42px rgba(237,111,0,.16) !important;
  transform:translateY(-2px) !important;
}

.leasing-partners{
  align-items:stretch !important;
}
.leasing-logo-card,
.leasing-card.leasing-logo-card,
.leasing-card.leasing-logo-card.orange{
  background:#fff !important;
  border:1px solid #ddd !important;
  color:var(--black) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  min-height:92px !important;
  gap:8px !important;
  padding:16px 18px !important;
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}
.leasing-logo-card:hover{
  border-color:var(--orange) !important;
  box-shadow:0 14px 30px rgba(237,111,0,.14) !important;
  transform:translateY(-2px) !important;
}
.leasing-logo-card img{
  max-width:min(190px,100%) !important;
  max-height:42px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
}
.leasing-logo-card.grenke img{
  max-height:42px !important;
}
.leasing-logo-card.euroleasing img{
  max-height:44px !important;
}
.leasing-logo-card span{
  color:var(--muted) !important;
  font-size:var(--fs-sm) !important;
  font-weight:var(--fw-bold) !important;
}
.leasing-logo-card strong{
  color:var(--black) !important;
}
@media(max-width:700px){
  .leasing-logo-card{
    min-height:82px !important;
  }
  .leasing-logo-card img{
    max-width:170px !important;
  }
}


/* v90 original logos, breadcrumbs and product hover correction */
/* Product cards: neutral by default, orange only on hover */
.product-uniform-card,
.card.product-card,
.product-card{
  border:1px solid var(--line) !important;
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}
.product-uniform-card:hover,
.card.product-card:hover,
.product-card:hover{
  border-color:var(--orange) !important;
  box-shadow:0 18px 42px rgba(237,111,0,.16) !important;
  transform:translateY(-2px) !important;
}

/* Breadcrumb naming and consistency */
.breadcrumbs a{text-decoration:none !important;}
.breadcrumbs a:hover{color:var(--orange) !important;}
.breadcrumbs strong{font-weight:var(--fw-heavy) !important;}
.breadcrumbs span{color:#9a9a93 !important;}

/* Partner logos as real images */
.partner-logo{filter:none !important;color:inherit !important;font-size:0 !important;min-height:46px;margin-bottom:18px !important;}
.partner-logo img{width:auto;height:auto;display:block;}
.partner-item img{filter:grayscale(1);opacity:.82;transition:.2s ease;}
.partner-item:hover img{filter:none;opacity:1;transform:scale(1.03);}
.hero-payment-icons.logo-icons{grid-template-columns:repeat(6,1fr);}
.hero-payment-icons.logo-icons div{display:flex;align-items:center;justify-content:center;grid-column:span 2;}
.hero-payment-icons.logo-icons div:nth-child(n+4){grid-column:span 3;}
.hero-payment-icons.logo-icons img{max-width:min(86px,100%);max-height:34px;width:auto;height:auto;object-fit:contain;}
/* Logo nesmie byť širšie než dlaždica (28. 9. 2026: na 390 px NAYAX a PAX pretekali cez okraj — dlaždica 57 px, logo 86 px). */
.hero-payment-icons.logo-icons div{padding:6px;min-width:0}
@media(max-width:640px){.hero-payment-icons.logo-icons{padding:80px 20px 50px;gap:12px}}
.hero-finance-box.logo-finance div{display:flex;align-items:center;justify-content:center;background:#fff;}
.hero-finance-box.logo-finance img{max-width:180px;max-height:48px;width:auto;height:auto;object-fit:contain;}

/* Leasing logo cards */
.leasing-logo-card img,
.leasing-card img{max-width:210px !important;max-height:48px !important;width:auto !important;height:auto !important;object-fit:contain !important;display:block !important;}
.leasing-logo-card.grenke img{max-width:150px !important;}
.leasing-logo-card.euroleasing img{max-width:220px !important;}


/* v91 category links, original TCN logo, product hover */
.nav li,
.nav .mega-item{
  user-select:none;
}
.product-uniform-card,
.card.product-card,
.product-card,
.cards .card.product-card{
  border:1px solid var(--line) !important;
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}
.product-uniform-card:hover,
.card.product-card:hover,
.product-card:hover,
.cards .card.product-card:hover{
  border-color:var(--orange) !important;
  box-shadow:0 18px 42px rgba(237,111,0,.16) !important;
  transform:translateY(-2px) !important;
}
.official-video-media::before{
  content:none !important;
}
.breadcrumbs a{
  color:var(--green) !important;
  font-weight:var(--fw-heavy) !important;
}
.breadcrumbs strong{
  color:var(--muted) !important;
}
/* v92 menu naming + TCN official-like logo */


/* v93 correct TCN logo from supplied official reference */


/* v94 force correct uploaded TCN logo */


/* v95 partner links, correct TCN logo and language selector */
.partner-logo{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
}
.partner-logo img{
  max-width:220px !important;
  max-height:70px !important;
  object-fit:contain !important;
}

/* Hide old language selector if any old markup remains */



/* v96 language selector: only SK/CZ/EN/DE */


/* v97 corrected TCN logo size/quality and language selector according to reference */

/* Remove old language switchers */

/* Language selector: white dropdown with flags before text, like supplied reference */
.flag-sk{
  background:linear-gradient(to bottom,#fff 0 33.333%,#0b4ea2 33.333% 66.666%,#ee1c25 66.666% 100%) !important;
}
.flag-cz{
  background:
    linear-gradient(146deg, #11457e 0 39%, transparent 39% 100%),
    linear-gradient(to bottom,#fff 0 50%,#d7141a 50% 100%) !important;
}
.flag-gb{
  background:
    linear-gradient(33deg, transparent 0 42%, #fff 42% 47%, #c8102e 47% 53%, #fff 53% 58%, transparent 58% 100%),
    linear-gradient(147deg, transparent 0 42%, #fff 42% 47%, #c8102e 47% 53%, #fff 53% 58%, transparent 58% 100%),
    linear-gradient(to bottom, transparent 0 38%, #fff 38% 45%, #c8102e 45% 55%, #fff 55% 62%, transparent 62% 100%),
    linear-gradient(to right, transparent 0 38%, #fff 38% 45%, #c8102e 45% 55%, #fff 55% 62%, transparent 62% 100%),
    #012169 !important;
}
.flag-de{
  background:linear-gradient(to bottom,#000 0 33.333%,#dd0000 33.333% 66.666%,#ffce00 66.666% 100%) !important;
}


/* v98 language selector: visible green globe + correct image flags */
.lang-switcher-v98{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:1000 !important;
}
.lang-globe-btn-v98{
  width:38px !important;
  height:38px !important;
  border:0 !important;
  background:transparent !important;
  display:grid !important;
  place-items:center !important;
  cursor:pointer !important;
  padding:0 !important;
}
.lang-globe-icon-v98{
  width:28px !important;
  height:28px !important;
  fill:none !important;
  stroke:var(--green) !important;
  stroke-width:1.8 !important;
}
.lang-menu-v98{
  display:none !important;
  position:absolute !important;
  top:39px !important;
  /* zarovnané doprava ku glóbusu: glóbus je posledný vpravo v hlavičke, centrovaná ponuka vyčnievala za okno
     pri 1280–1920 px (skusky/rozbalene_v_okne.mjs, 8. 11. 2026) */
  right:0 !important;
  width:142px !important;
  background:#fff !important;
  border:1px solid #d6d6d6 !important;
  border-radius:var(--r-sm) !important;
  box-shadow:var(--shadow-float) !important;
  padding:7px 10px !important;
  z-index:9999 !important;
}
.lang-menu-v98::before{
  content:"" !important;
  position:absolute !important;
  top:-7px !important;
  right:12px !important;   /* šípka pod stredom glóbusu (38 px) */
  width:0 !important;
  height:0 !important;
  border-left:7px solid transparent !important;
  border-right:7px solid transparent !important;
  border-bottom:7px solid #fff !important;
}
.lang-switcher-v98:hover .lang-menu-v98,
.lang-switcher-v98:focus-within .lang-menu-v98{
  display:block !important;
}
.lang-menu-v98 a{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  height:31px !important;
  padding:0 !important;
  color:var(--black) !important;
  font-size:var(--fs-sm) !important;
  font-weight:var(--fw-normal) !important;
  line-height:1 !important;
  text-decoration:none !important;
  border-bottom:1px solid #d9d9d9 !important;
}
.lang-menu-v98 a:last-child{
  border-bottom:0 !important;
}
.lang-menu-v98 a:hover{
  color:var(--green) !important;
}
.flag-img-v98{
  width:31px !important;
  min-width:31px !important;
  height:20px !important;
  display:block !important;
  object-fit:cover !important;
  border:1px solid #d0d0d0 !important;
  box-sizing:border-box !important;
}
.lang-menu-v98 span{
  white-space:nowrap !important;
}

/* v98 remove decorative/generated TCN inscriptions from visual cards */
.official-video-media::before,
.hero-visual-card::before,
.hero-visual-card::after,
.hero-visual-card[data-title]::before,
.hero-visual-card[data-title]::after{
  content:none !important;
  display:none !important;
}
.official-video-media{
  isolation:isolate !important;
}


/* v99 globe hover, partner logo sizing, and remove decorative TCN */
.lang-globe-btn-v98:hover .lang-globe-icon-v98,
.lang-globe-btn-v98:focus .lang-globe-icon-v98,
.lang-switcher-v98:hover .lang-globe-icon-v98,
.lang-switcher-v98:focus-within .lang-globe-icon-v98{
  stroke:var(--orange) !important;
}

.partner-item img{
  max-width:235px !important;
  max-height:74px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
}
.partner-logo img.tcn{
  max-width:235px !important;
  max-height:74px !important;
}
@media(max-width:760px){
  
  .partner-item img{
    max-width:210px !important;
    max-height:64px !important;
  }
}

.official-tcn-showcase .official-video-media::before,
.official-video-media::before{
  content:'' !important;
  display:none !important;
}


/* v100 stronger removal of decorative TCN text + uniform partner logo heights */
.official-video-media::before,
.official-video-media::after,
.official-video-card::before,
.official-video-card::after,
.hero-visual-card::before,
.hero-visual-card::after,
.hero-visual-card[data-title]::before,
.hero-visual-card[data-title]::after,
.official-tcn-showcase .official-video-media::before,
.official-tcn-showcase .official-video-media::after{
  content:"" !important;
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}


.partner-item{
  min-height:112px !important;
  padding:16px 20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.partner-item img,
.partner-logo img,
.partner-logo img.tcn{
  height:74px !important;
  max-height:74px !important;
  width:auto !important;
  max-width:88% !important;
  object-fit:contain !important;
  display:block !important;
}
@media(max-width:760px){
  .partner-item{
    min-height:98px !important;
    padding:14px 16px !important;
  }
  .partner-item img,
.partner-logo img,
.partner-logo img.tcn{
    height:58px !important;
    max-height:58px !important;
    max-width:90% !important;
  }
}


/* v101 global cleanup: remove decorative text overlays from graphic/visual blocks */
.hero-visual-card::before,
.hero-visual-card::after,
.hero-visual-card[data-title]::before,
.hero-visual-card[data-title]::after,
.official-video-media::before,
.official-video-media::after,
.official-video-card::before,
.official-video-card::after,
.blog-img::before,
.blog-img::after,
.partner-item::before,
.partner-item::after,
.compare::before,
.compare::after,
.hm-compare::before,
.hm-compare::after{
  content:"" !important;
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}

/* Ensure graphic cards stay clean when old CSS uses data-title or generated content */
.hero-visual-card,
.official-video-media,
.official-video-card,
.blog-img{
  text-indent:0 !important;
}

/* If image placeholders are empty after removing overlay text, keep their layout clean */


/* v102 remove generated decorative blog text and make partner logos fully CMS controlled */
.blog-img{
  color:transparent !important;
  font-size:0 !important;
}
.blog-img img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.blog-img:empty{
  background:linear-gradient(135deg,#1e1e1e,#3a3a3a) !important;
}
.blog-img::before,
.blog-img::after{
  content:"" !important;
  display:none !important;
}

.partner-cms-item{
  min-height:112px !important;
  padding:16px 20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.partner-cms-item img{
  height:var(--partner-logo-height,74px) !important;
  max-height:var(--partner-logo-height,74px) !important;
  max-width:var(--partner-logo-max-width,240px) !important;
  width:auto !important;
  object-fit:contain !important;
  display:block !important;
  transition:.2s ease !important;
}
.partner-cms-item.grayscale img{
  filter:grayscale(1) !important;
  opacity:.82 !important;
}
.partner-cms-item.grayscale:hover img{
  filter:none !important;
  opacity:1 !important;
}


/* v103 final fix: remove decorative TCN text placeholders and normalize partner logo sizes */
.video-box:before,
.product-img:after,
.official-video-media::before,
.official-video-media::after,
.official-video-card::before,
.official-video-card::after,
.hero-visual-card::before,
.hero-visual-card::after,
.hero-visual-card[data-title]::before,
.hero-visual-card[data-title]::after,
.blog-img::before,
.blog-img::after,
.partner-item::before,
.partner-item::after,
.compare::before,
.compare::after,
.hm-compare::before,
.hm-compare::after{
  content:"" !important;
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}

.partner-strip{
  align-items:stretch !important;
}
.partner-item,
.partner-cms-item{
  min-height:116px !important;
  padding:16px 20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.partner-item img,
.partner-cms-item img,
.partner-logo img,
.partner-logo img.tcn{
  height:84px !important;
  max-height:84px !important;
  width:auto !important;
  max-width:240px !important;
  object-fit:contain !important;
  display:block !important;
}
@media(max-width:760px){
  .partner-item,
  .partner-cms-item{
    min-height:98px !important;
    padding:14px 16px !important;
  }
  .partner-item img,
.partner-cms-item img,
.partner-logo img,
.partner-logo img.tcn{
    height:60px !important;
    max-height:60px !important;
    max-width:200px !important;
  }
}


/* v104 aktuality clickable tags, smaller read-more button, larger Euroleasing */
.tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.tags .tag,
.tags .tag-link,
.blog-tag-cloud .tag,
.blog-tag-cloud a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  cursor:pointer;
}
.tags .tag:hover,
.tags .tag-link:hover,
.blog-tag-cloud .tag:hover,
.blog-tag-cloud a:hover{
  border-color:var(--green);
  box-shadow:0 8px 20px rgba(33,123,20,.08);
  transform:translateY(-1px);
}
.blog-tag-cloud a{
  background:#eef7ec;
  color:var(--green);
  border:1px solid #d7ead2;
  padding:7px 10px;
  border-radius:var(--r-pill);
  font-weight:var(--fw-heavy);
  font-size:var(--fs-sm);
}
.partner-item[aria-label*="Euroleasing"] img,
.partner-cms-item[aria-label*="Euroleasing"] img{
  height:96px !important;
  max-height:96px !important;
  max-width:280px !important;
}
.partner-logo img[alt*="Euroleasing"],
.hero-finance-box.logo-finance img[alt*="Euroleasing"],
.leasing-logo-card.euroleasing img,
.leasing-card.euroleasing img{
  max-width:250px !important;
  max-height:58px !important;
}
@media(max-width:760px){
  .partner-item[aria-label*="Euroleasing"] img,
  .partner-cms-item[aria-label*="Euroleasing"] img{
    height:68px !important;
    max-height:68px !important;
    max-width:220px !important;
  }
  }


/* v105 Services CMS */
.service-cms-card .service-icon{
  width:48px;
  height:48px;
  margin-bottom:14px;
}
.service-cms-card .service-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.service-cms-card .btn{
  margin-top:16px;
}
.services-page-v105 .notice{
  margin-top:26px;
}
.services-page-v105 .partner-logo img[alt*="Euroleasing"]{
  max-width:260px !important;
  max-height:64px !important;
}


/* v106 Homepage CMS */
.homepage-cms-v106 #homepage-news-root .btn{
  margin-top:14px;
}
.homepage-cms-v106 #homepage-catalog-root .product-img:after{
  content:"" !important;
  display:none !important;
}
.homepage-cms-v106 .hero-slide-real h1 span{
  color:var(--orange);
}


/* v107 Site CMS common rendering */
.contact-cms-v107 #contact-cms-root .contact-social{
  margin-top:10px;
}
.contact-cms-v107 #contact-cms-root .contact-form-wide{
  margin-top:28px;
}
.contact-cms-v107 #contact-cms-root .related{
  margin-top:28px;
}
.footer .footer-col a[href]{
  cursor:pointer;
}


/* v108 Global SEO CMS */


/* v109 Media CMS */


/* v110 Forms and inquiries CMS */
.form-message{
  margin-top:8px;
  font-weight:var(--fw-heavy);
}
.form-success{
  display:block;
  color:var(--green);
  background:#eef7ec;
  border:1px solid #d7ead2;
  padding:12px 14px;
  border-radius:var(--r-md);
}
.form-error{
  display:block;
  color:#b00020;
  background:#fff0f0;
  border:1px solid #ffd0d0;
  padding:12px 14px;
  border-radius:var(--r-md);
}


/* v111 Server storage / deployment CMS */


/* v114 approved fix: keep Vendea spelling readable in blog meta/author text */


/* v116 aktuality: only tag filtering, no search/date/type/category filters */
.blog-page .blog-tags{margin-top:0;}
.blog-meta{text-transform:none !important;}


/* v117 approved fix: clickable Aktuality articles */
.blog-card[data-url],
.blog-card[role="link"]{
  cursor:pointer;
}
.blog-card[data-url]:hover h3,
.blog-card[role="link"]:hover h3,
.blog-card[data-url]:hover h2,
.blog-card[role="link"]:hover h2{
  text-decoration:underline;
  text-underline-offset:4px;
}
.blog-title-link{
  color:inherit;
  text-decoration:none;
}
.blog-title-link:hover{
  color:var(--green);
  text-decoration:underline;
  text-underline-offset:4px;
}
/* odkazy v bočnom paneli, nie tlačidlá — .btn tu dostávalo zelený text pod myšou, šípku a text vľavo (1. 10. 2026) */
.blog-sidebar .side-box a[href]:not(.btn){
  cursor:pointer;
  display:block;
  position:relative;
  padding-right:22px;
  transition:color .2s ease, transform .2s ease, text-decoration-color .2s ease;
}
.blog-sidebar .side-box a[href]:not(.btn):hover{
  color:var(--green);
  text-decoration:underline;
  text-underline-offset:4px;
  transform:translateX(4px);
}
.blog-sidebar .side-box a[href]:not(.btn)::after{
  content:"→";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  opacity:0;
  color:var(--orange);
  transition:opacity .2s ease, transform .2s ease;
  font-weight:var(--fw-heavy);
}
.blog-sidebar .side-box a[href]:not(.btn):hover::after{
  opacity:1;
  transform:translateY(-50%) translateX(2px);
}


/* v121 professional polish: product detail PRO + inquiry context */
/* Detail produktu: celá plocha na dve rovnaké polovice s jednou medzerou — hore (fotka | názov a dopyt) aj karty
   nižšie, stred je všade na tej istej čiare (Ivan 8. 10. 2026; predtým hore 608 : 672 px s medzerou 44, dole 651 : 651
   s medzerou 22). Okná hore sú rovnako vysoké. */
.product-pro-hero{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.product-pro-gallery,
.product-pro-summary{
  background:#fff;
  border:1px solid #ddd;
  border-radius:var(--r-md);
  padding:24px;
  box-shadow:var(--shadow-md);
}
.product-pro-summary h1{
  margin-top:8px;
}
.product-pro-highlights{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:22px 0;
}
.product-pro-highlights span{
  background:#eef7ec;
  color:var(--green);
  border:1px solid #d7ead2;
  border-radius:var(--r-pill);
  padding:8px 12px;
  font-weight:var(--fw-heavy);
  font-size:var(--fs-sm);
}
/* Riadky po dvojiciach (Ivan 8. 10. 2026): každá karta na každom produkte na tom istom mieste; okná v riadku rovnako
   vysoké; karta bez dvojice a Technické údaje cez celú šírku (server/sekcie/produkty.js). */
.product-pro-sections{
  display:flex;
  flex-direction:column;
  gap:22px;
  margin-top:22px;
}
.product-pro-riadok{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.product-pro-riadok.jedna{grid-template-columns:minmax(0,1fr)}
/* Technické údaje: tabuľka v dvoch polovicách, stred na tej istej čiare ako stred stránky
   (medzera = medzera riadku 22 + 2 × vnútorný okraj karty 26) */
.product-param-polovice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:74px;align-items:start}
.product-param-polovice .product-param-table{margin:0}
.product-pro-card{
  background:#fff;
  border:1px solid #ddd;
  border-radius:var(--r-md);
  padding:26px;
  box-shadow:var(--shadow-sm);
}
.product-pro-card h2{
  margin-top:0;
  color:var(--green);
  font-size:var(--fs-h3);   /* podsekcia detailu (Popis, Technické údaje…) — nie nadpis sekcie webu (27. 9. 2026) */
}
.clean-list{
  margin:0;
  padding-left:22px;
}
.clean-list li{
  margin:8px 0;
  line-height:1.5;
}
.product-pro-riadok.jedna .product-pro-final-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.product-inquiry-notice{
  background:#fff7ed;
  border:1px solid #ffd9b0;
  border-left:4px solid var(--orange);
  padding:12px 14px;
  border-radius:var(--r-md);
  color:var(--dark);
}
@media(max-width:980px){
  .product-pro-hero,
  .product-pro-sections{
    grid-template-columns:1fr;
  }
  .product-pro-riadok{grid-template-columns:minmax(0,1fr)}
  .product-param-polovice{grid-template-columns:minmax(0,1fr)}
  .product-param-polovice .product-param-table+.product-param-table{margin-top:-1px}
  .product-pro-final-cta{
    display:block;
  }
}







/* v124 Aktuality: sidebar tag cloud without article hover arrow/underline */
.blog-sidebar .blog-tag-cloud a.tag,
.blog-sidebar .blog-tag-cloud a.tag:visited,
.blog-sidebar .blog-tag-cloud a.tag:hover,
.blog-sidebar .blog-tag-cloud a.tag:focus{
  text-decoration:none !important;
  transform:none !important;
}
.blog-sidebar .blog-tag-cloud a.tag::after,
.blog-sidebar .blog-tag-cloud a.tag:hover::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
}
.blog-sidebar .blog-tag-cloud a.tag:hover{
  color:var(--green) !important;
  background:#eef7ec;
  border-color:#d7ead2;
}




/* v157 Blog / Aktuality media public layout */
.blog-img{aspect-ratio:16/9;min-height:0!important;overflow:hidden}
.blog-card.featured .blog-img{aspect-ratio:16/9;min-height:0!important}
.blog-img img{width:100%;height:100%;object-fit:cover;display:block}
.blog-img .v141-media{width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.blog-img .v141-media-frame{width:100%!important;height:100%!important;aspect-ratio:16/9!important}
.blog-img .v141-media-frame img{width:100%!important;height:100%!important;object-fit:cover}
@media(max-width:720px){.blog-img{aspect-ratio:16/9}}

/* v158 Aktuality: profesionálne kompaktné karty bez obrovského titulného obrázka */
.blog-card.featured{
  display:block!important;
  grid-template-columns:none!important;
}
.blog-card.featured .blog-img,
.blog-img{
  aspect-ratio:16/9!important;
  min-height:0!important;
  background:#f5f5ef;
}
.blog-card .blog-img img,
.blog-img .v141-media-frame img{
  object-fit:contain!important;
  background:#fff;
}



/* v159 Aktuality: profesionálny kompaktný blog pre menšie obrázky */
.blog-card,.blog-card.featured{box-shadow:var(--shadow-md)!important;transition:transform .18s ease,box-shadow .18s ease}
.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)!important}
.blog-img .blog-card-media,.blog-img .blog-card-media .v141-media-frame{height:100%!important;aspect-ratio:4/3!important;background:#fff!important}
.blog-img img,.blog-img .blog-card-media img{object-fit:contain!important;background:#fff!important}
.blog-body{padding:22px!important}
.blog-body h3,
.blog-body h2{font-size:var(--fs-h3)!important;line-height:1.22!important;margin:0 0 10px!important}
.blog-body p{font-size:var(--fs-base)!important;line-height:1.55!important;color:var(--muted)!important}

.article-main-pro{border-radius:var(--r-md)!important;border:1px solid #eee!important;box-shadow:var(--shadow-md)!important;padding:44px!important}
.article-main-pro h1{font-size:var(--fs-display)!important;line-height:1.05!important;max-width:960px}
.article-lead-pro{max-width:760px!important;color:var(--muted)!important;line-height:1.65!important}
.article-media-pro{display:grid;gap:24px;align-items:start;margin:28px 0 34px!important}
.article-image-card{margin:0!important;background:#fff;border:1px solid #ecece3;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-md);}
.article-image-card img{display:block;}
.article-image-card.contain img{object-fit:contain!important;padding:10px}
.article-image-card.cover img{object-fit:cover!important}
.article-image-card figcaption{padding:10px 14px;color:var(--muted);font-size:var(--fs-sm);background:#fff}
.article-video-card{background:#111;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:16/9}
.article-video-card iframe,.article-video-card video{width:100%;height:100%;border:0;display:block}
.article-text-pro{font-size:var(--fs-lg);line-height:1.78;color:var(--text)}
.article-text-pro p{margin:0 0 20px}

@media(max-width:760px){
  
  
  .article-main-pro{padding:26px!important}
  
  
}



/* v160 blog final override: menší titulný obrázok a profesionálny detail */
.article-media-pro.one{grid-template-columns:minmax(240px,520px)!important;justify-content:start!important}
.blog-card.featured{grid-column:auto!important}



/* v161 FlexiBlog-inspired Aktuality layout: obrazky vycentrovane, bez orezu */
.blog-card,.blog-card.featured{grid-template-columns:240px minmax(0,1fr)!important;}
.article-image-card{width:min(620px,100%)!important;max-width:620px!important;min-height:220px!important;max-height:420px!important;aspect-ratio:auto!important;display:grid!important;place-items:center!important}
.article-image-card img{width:100%!important;height:auto!important;max-height:420px!important;padding:14px!important;background:#fff!important}
@media(max-width:760px){
  
  .blog-card,.blog-card.featured{grid-template-columns:1fr!important}
  
}



/* v162 Aktuality: dvojstĺpcové karty, obrázky vycentrované bez orezu */
.blog-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:34px!important}
.blog-card,.blog-card.featured{min-height:0!important}
.blog-img,.blog-img.small{border-bottom:1px solid #efefe7!important}
.article-image-card{margin-left:auto!important;margin-right:auto!important}
@media(max-width:760px){
  .blog-layout{grid-template-columns:1fr!important}
  
  
}

/* v163 Aktuality Article PRO: dvojstlpcový zoznam, 16:9 centrované médiá a profesionálny detail */
.blog-img .blog-card-media,.blog-img .blog-card-media .v141-media-frame,.blog-img .v141-media,.blog-img .v141-media-frame{width:100%!important;height:100%!important;min-height:210px!important;max-height:210px!important;display:grid!important;place-items:center!important;aspect-ratio:auto!important;background:#fff!important}.article-main-pro{max-width:1040px!important}.article-media-pro{max-width:920px!important}.article-media-card{width:100%!important;aspect-ratio:16/9!important}.article-image-card img{object-fit:contain!important;object-position:center center!important}.article-text-pro{max-width:800px!important;text-wrap:pretty!important}


/* v165 Aktuality media professional fix: rovnaký formát obrázkov a videí */
.article-media-pro,.article-blocks-pro{width:min(100%,860px)!important;margin-left:auto!important;margin-right:auto!important}
.article-media-card,
.article-block-image{width:100%!important;aspect-ratio:16/9!important;border-radius:var(--r-md)!important;display:grid!important;place-items:center!important;overflow:hidden!important}
.article-image-card img,.article-block-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;padding:24px!important;box-sizing:border-box!important;background:#fff!important}



/* v166 Aktuality final: jednotné rozmery médií, obrázky centrované bez orezu, text na šírku média */
#dynamic-article-root .article-media-pro,#dynamic-article-root .article-blocks-pro,#dynamic-article-root .article-text-pro,#dynamic-article-root .tags,#dynamic-article-root .related{width:min(100%,860px)!important;margin-left:auto!important;margin-right:auto!important}



/* v170 Aktuality final: jednotný 16:9 rám, obrázok/videá rovnaká šírka, text rovnaká šírka */
.blog-card,.blog-card.featured{display:flex!important;flex-direction:column!important;grid-column:auto!important;border-radius:var(--r-md)!important;overflow:hidden!important}
.blog-img,.blog-img.small{width:100%!important;aspect-ratio:16/9!important;height:auto!important;min-height:0!important;max-height:none!important;display:grid!important;place-items:center!important;background:#f7f7f1!important;overflow:hidden!important}
.blog-img img,.blog-card-media img,.blog-img .v141-media img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;background:#fff!important;padding:0!important;box-sizing:border-box!important;margin:0!important}
#dynamic-article-root .blog-meta,#dynamic-article-root h1,#dynamic-article-root .article-lead-pro,#dynamic-article-root .article-media-pro,#dynamic-article-root .article-blocks-pro,#dynamic-article-root .article-text-pro,#dynamic-article-root .tags,#dynamic-article-root .related{width:min(100%,860px)!important;max-width:860px!important;margin-left:auto!important;margin-right:auto!important}
#dynamic-article-root .article-media-card,
#dynamic-article-root .article-video-card,
#dynamic-article-root .article-block-image{width:100%!important;max-width:860px!important;aspect-ratio:16/9!important;display:grid!important;place-items:center!important;overflow:hidden!important}
#dynamic-article-root .article-image-card img,#dynamic-article-root .article-block-image img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;padding:0!important;background:#fff!important;box-sizing:border-box!important}
#dynamic-article-root .article-text-pro p{text-align:left!important}   /* nie do bloku: na mobile diery medzi slovami (audit 1. 10. 2026) */



/* v170 video thumbnail final fix */
.blog-video-preview,
.article-video-card{aspect-ratio:16/9!important;background:#111!important;overflow:hidden!important}



/* v170 final: obrázky v Aktualitách sa prispôsobia rámu, videá majú jasnú play ikonu */
.blog-img,
.blog-img.small,
.blog-feature-preview,
.article-block-preview,
#dynamic-article-root .article-image-card,
#dynamic-article-root .article-block-image{
  aspect-ratio:16/9!important;
  background:#fff!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
}
.blog-img img,
.blog-card-media img,
.blog-feature-preview img,
.article-block-preview img,
#dynamic-article-root .article-image-card img,
#dynamic-article-root .article-block-image img,
#dynamic-article-root .v170-fit-image{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:24px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  display:block!important;
  margin:0!important;
}
.blog-video-preview,
.blog-video-thumb,
#dynamic-article-root .article-video-card{
  aspect-ratio:16/9!important;
  background:#111!important;
  overflow:hidden!important;
}
@media(max-width:760px){
  .blog-img img,
  .blog-card-media img,
  .blog-feature-preview img,
  .article-block-preview img,
  #dynamic-article-root .article-image-card img,
  #dynamic-article-root .article-block-image img,
  #dynamic-article-root .v170-fit-image{padding:16px!important}
}


/* v171 Aktuality: titulný obrázok v detaile bez núteného 16:9 orezu.
   Režim cover zostáva ako vedomý orez; contain/scale-down zobrazí celý obrázok. */
#dynamic-article-root .article-image-card.fit-contain,
#dynamic-article-root .article-image-card.fit-scale-down,
#dynamic-article-root .article-block-image{
  aspect-ratio:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#dynamic-article-root .article-image-card.fit-contain img,
#dynamic-article-root .article-block-image img{object-fit:contain!important}
#dynamic-article-root .article-image-card.fit-scale-down img{object-fit:scale-down!important}
#dynamic-article-root .article-image-card.fit-cover{
  width:100%!important;
  max-width:860px!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
}
#dynamic-article-root .article-image-card.fit-cover img{
  max-width:100%!important;
  max-height:100%!important;
}
@media(max-width:760px){
  #dynamic-article-root .article-image-card.fit-contain img,
  #dynamic-article-root .article-image-card.fit-scale-down img,
  #dynamic-article-root .article-block-image img{max-height:72vh!important}
}


/* v172 FINAL FIX: Aktuality – vyšší titulný obrázok bez orezu */
#dynamic-article-root .article-image-card.fit-contain,
#dynamic-article-root .article-image-card.fit-scale-down{
  aspect-ratio:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  display:block!important;
  background:#fff!important;
}
#dynamic-article-root .article-image-card.fit-contain img,
#dynamic-article-root .article-image-card.fit-scale-down img,
#dynamic-article-root .article-image-card.fit-contain .v170-fit-image,
#dynamic-article-root .article-image-card.fit-scale-down .v170-fit-image{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  margin:0 auto!important;
  background:#fff!important;
  display:block!important;
  box-sizing:border-box!important;
}


/* v174 FINAL: Aktuality images – contain means whole image, cover crops only when explicitly selected. */
.blog-img,
.blog-img.small{
  background:#fff!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.blog-img .blog-card-media,
.blog-img .v141-media,
.blog-img .v141-media-frame{
  width:100%!important;
  height:100%!important;
  aspect-ratio:16/9!important;
  background:#fff!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.blog-img img:not(.video-thumb),
.blog-card-media img:not(.video-thumb),
.blog-img .v141-media img:not(.video-thumb),
.blog-img .v141-media-frame > img:not(.video-thumb),
.blog-img .v141-media-frame a > img:not(.video-thumb){
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:10px!important;
  margin:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
  display:block!important;
  transform:none!important;
}
#dynamic-article-root .article-image-card.fit-contain img,
#dynamic-article-root .article-image-card.fit-scale-down img,
#dynamic-article-root .article-block-image img,
#dynamic-article-root .article-image-card.fit-contain .v170-fit-image,
#dynamic-article-root .article-image-card.fit-scale-down .v170-fit-image,
#dynamic-article-root .article-block-image .v170-fit-image{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
  display:block!important;
  transform:none!important;
}
#dynamic-article-root .article-image-card.fit-cover img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
}


/* v176 FINAL OVERRIDE: Aktuality cards and admin previews no crop */
.blog-grid .blog-card .blog-img .blog-card-media,
.blog-grid .blog-card .blog-img .v141-media,
.blog-grid .blog-card .blog-img .v141-media-frame,
.blog-grid .blog-card .blog-img .v141-media-frame a{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
  margin:0!important;
  padding:0!important;
}
.blog-grid .blog-card .blog-img img:not(.video-thumb),
.blog-grid .blog-card .blog-card-media img:not(.video-thumb),
.blog-grid .blog-card .blog-img .v141-media img:not(.video-thumb),
.blog-grid .blog-card .blog-img .v141-media-frame img:not(.video-thumb){
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:18px!important;
  margin:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
  transform:none!important;
  display:block!important;
}


/* v177 FINAL: Aktuality preview cards smaller + real contain without crop */
.blog-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
}
.blog-grid .blog-card,
.blog-grid .blog-card.featured{
  border-radius:var(--r-md)!important;
  overflow:hidden!important;
}
.blog-grid .blog-card .blog-img,
.blog-grid .blog-card .blog-img.small{
  width:100%!important;
  height:205px!important;
  min-height:205px!important;
  max-height:205px!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border-bottom:1px solid #efefe7!important;
}
.blog-grid .blog-card .blog-img .blog-card-media,
.blog-grid .blog-card .blog-img .v141-media,
.blog-grid .blog-card .blog-img .v141-media-frame,
.blog-grid .blog-card .blog-img .v141-media-frame a,
.blog-grid .blog-card .blog-img picture{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  aspect-ratio:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
}
.blog-grid .blog-card .blog-img img:not(.video-thumb),
.blog-grid .blog-card .blog-card-media img:not(.video-thumb),
.blog-grid .blog-card .blog-img .v141-media img:not(.video-thumb),
.blog-grid .blog-card .blog-img .v141-media-frame img:not(.video-thumb),
.blog-grid .blog-card .blog-img .v141-media-frame a > img:not(.video-thumb){
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  margin:auto!important;
  background:transparent!important;
  box-sizing:border-box!important;
  transform:none!important;
  display:block!important;
}
.blog-grid .blog-card .blog-body{
  padding:18px 20px 20px!important;
}
.blog-grid .blog-card .blog-body h3,
.blog-grid .blog-card .blog-body h2{
  font-size:var(--fs-h3)!important;
  line-height:1.22!important;
}
.blog-grid .blog-card .blog-body p{
  font-size:var(--fs-base)!important;
  line-height:1.5!important;
}
@media(max-width:980px){
  .blog-grid{grid-template-columns:1fr!important;gap:18px!important}
  .blog-grid .blog-card .blog-img,
  .blog-grid .blog-card .blog-img.small{height:220px!important;min-height:220px!important;max-height:220px!important}
}
@media(max-width:620px){
  .blog-grid .blog-card .blog-img,
  .blog-grid .blog-card .blog-img.small{height:190px!important;min-height:190px!important;max-height:190px!important}
  .blog-grid .blog-card .blog-body{padding:16px!important}
}

/* v185 Aktuality: sidebar tag hover must match article tag hover outline */
.blog-sidebar .blog-tag-cloud a.tag:hover,
.blog-sidebar .blog-tag-cloud a.tag:focus,
.blog-sidebar .blog-tag-cloud a:hover,
.blog-sidebar .blog-tag-cloud a:focus{
  color:var(--green) !important;
  background:#eef7ec !important;
  border-color:var(--green) !important;
  box-shadow:0 8px 20px rgba(33,123,20,.08) !important;
  text-decoration:none !important;
}
.blog-sidebar .blog-tag-cloud a.tag::after,
.blog-sidebar .blog-tag-cloud a.tag:hover::after,
.blog-sidebar .blog-tag-cloud a::after,
.blog-sidebar .blog-tag-cloud a:hover::after{
  content:none !important;
  display:none !important;
}

/* v185: Unified clickable tag/filter pills across Aktuality, sidebar, article cards, detail tags and Predajné automaty filters.
   Rule: inactive = green pill, hover = darker green outline, active = orange. */
.blog-tags,
.product-filter-row,
.tags,
.blog-tag-cloud{
  gap:10px !important;
}

.blog-tags button,
.product-filter-row button,
.tags .tag,
.tags .tag-link,
.blog-tag-cloud .tag,
.blog-tag-cloud a.tag,
.blog-tag-cloud a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  padding:8px 13px !important;
  border-radius:var(--r-pill) !important;
  border:1px solid #d7ead2 !important;
  background:#eef7ec !important;
  color:var(--green) !important;
  font-weight:var(--fw-heavy) !important;
  font-size:var(--fs-sm) !important;
  line-height:1.1 !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:none !important;
  transform:none !important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease !important;
}

.blog-tags button:not(.active):hover,
.blog-tags button:not(.active):focus,
.product-filter-row button:not(.active):hover,
.product-filter-row button:not(.active):focus,
.tags .tag:hover,
.tags .tag:focus,
.tags .tag-link:hover,
.tags .tag-link:focus,
.blog-tag-cloud .tag:hover,
.blog-tag-cloud .tag:focus,
.blog-tag-cloud a.tag:hover,
.blog-tag-cloud a.tag:focus,
.blog-tag-cloud a:hover,
.blog-tag-cloud a:focus{
  background:#eef7ec !important;
  color:var(--green) !important;
  border-color:var(--green,#138200) !important;
  box-shadow:0 8px 20px rgba(33,123,20,.10) !important;
  transform:translateY(-1px) !important;
  text-decoration:none !important;
}

.blog-tags button.active,
.blog-tags button.active:hover,
.blog-tags button.active:focus,
.product-filter-row button.active,
.product-filter-row button.active:hover,
.product-filter-row button.active:focus{
  background:var(--orange,#ed6f00) !important;
  border-color:var(--orange,#ed6f00) !important;
  color:#fff !important;
  box-shadow:none !important;
  transform:none !important;
}

.blog-tag-cloud a::after,
.blog-tag-cloud a:hover::after,
.tags .tag::after,
.tags .tag-link::after,
.tags .tag:hover::after,
.tags .tag-link:hover::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
}


/* v187 marker: tag-filter-unifier.css linked after style.css handles unified tags/filters. */


/* v190 - blog pagination fixed inside article grid */
.blog-grid > .blog-pagination{
  gap:8px;
}
.blog-pagination .page-link{
  min-width:38px;
  min-height:38px;
  padding:8px 12px;
  border:1px solid rgba(22,149,0,.28);
  border-radius:var(--r-pill);
  background:#fff;
  color:var(--green);
  text-decoration:none;
  font-weight:var(--fw-heavy);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.blog-pagination .page-link:hover{
  border-color:#0f7d00;
  background:#f2ffe8;
  color:#0f7d00;
  box-shadow:0 8px 18px rgba(22,149,0,.12);
  transform:translateY(-1px);
}
.blog-pagination .page-link.active{
  background:#c25700;
  border-color:#c25700;
  color:#fff;
  box-shadow:0 10px 24px rgba(237,111,0,.22);
}
.blog-pagination .page-link.disabled{
  opacity:.45;
  pointer-events:none;
  background:#fafaf6;
  color:var(--muted);
  border-color:#e5e5d8;
  box-shadow:none;
}
.blog-pagination .page-dots{
  padding:8px 4px;
  color:var(--muted);
  font-weight:var(--fw-heavy);
}
@media(max-width:620px){
  .blog-pagination{justify-content:flex-start;margin-top:22px}
  .blog-pagination .page-prev,.blog-pagination .page-next{flex:1 1 100%;}
}


/* v190 - keep blog pagination under articles; never let it become the right sidebar column */
.blog-layout > .blog-pagination{
  grid-column:1 / -1 !important;
  width:100% !important;
}
.blog-grid > .blog-pagination{
  grid-column:1 / -1 !important;
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  margin:28px 0 0 !important;
}
.blog-layout > .blog-sidebar{
  align-self:start !important;
}


/* v196: moderné fonty pre verejný web – Inter + Manrope */
body,
input,
select,
textarea,
button{
  font-family:var(--font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.logo,
.logo small,
.nav,
.btn,
.badge,
.kicker,
.blog-title,
.product-card h3,
.mega-item,
.submenu a{
  font-family:var(--font-heading);
}

h1,h2,
.hero h1,
.center h2{
  font-weight:var(--fw-heavy);
  letter-spacing:-0.04em;
}

h3,h4,
.nav,
.btn,
.badge,
.kicker{
  font-weight:var(--fw-heavy);
}

p,li,.lead,.card p,.card li{
  font-weight:var(--fw-normal);
}




/* v222 Partneri: plynulý pás log sprava doľava.
   Zachované: logá sú sivé, po nabehnutí myšou sa zobrazia v originálnych farbách. */
.partner-strip.partner-marquee{
  display:block;
  overflow:hidden;
  margin-top:32px;
  position:relative;
  width:100%;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.partner-marquee-viewport{
  overflow:hidden;
  width:100%;
}
.partner-marquee-track{
  display:flex;
  width:max-content;
  gap:28px;
  animation:v222-partner-marquee var(--partner-marquee-duration,34s) linear infinite;
  will-change:transform;
}
.partner-strip.partner-marquee[data-pause-on-hover="1"]:hover .partner-marquee-track{
  animation-play-state:paused;
}
.partner-marquee-group{
  display:flex;
  align-items:center;
  gap:28px;
  flex:0 0 auto;
}
.partner-item.partner-cms-item.grayscale,
.partner-item.grayscale,
.partner-item{
  filter:grayscale(1);
  opacity:.72;
}
.partner-item.partner-cms-item.grayscale:hover,
.partner-item.grayscale:hover,
.partner-item:hover{
  filter:grayscale(0);
  opacity:1;
}
.partner-item img,
.partner-item .partner-logo-media img{
  max-width:var(--partner-logo-max-width,240px);
  max-height:var(--partner-logo-height,84px);
}
@keyframes v222-partner-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 14px))}
}
@media(max-width:760px){
  .partner-strip.partner-marquee{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .partner-strip.partner-marquee .partner-marquee-viewport,
  .partner-strip.partner-marquee .partner-marquee-track,
  .partner-strip.partner-marquee .partner-marquee-group{
    display:contents;
  }
  .partner-strip.partner-marquee .partner-marquee-group[aria-hidden="true"]{
    display:none;
  }
  
}


/* v223 SEO: dostupný H1 bez vizuálneho rozbitia starších šablón */
.seo-sr-h1{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}


/* v224 responzívne doladenie verejného webu */
img,video,iframe{max-width:100%}
@media(max-width:1180px){
  .container{width:min(100% - 32px, 1120px)}
  h1{}
  h2{}
  .hero-grid,
.finance-grid{grid-template-columns:1fr;gap:28px}
  .hero-slide-real{align-items:start}   /* v jednom stĺpci text hneď pod hlavičkou; kratší slajd má voľno dole, nie nad nadpisom (13. 10. 2026) */
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .header{height:auto;min-height:70px}
  .header .container{min-height:70px;align-items:center;position:relative}
  .mobile{display:block;cursor:pointer;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--green);font-weight:var(--fw-heavy)}
  .nav{display:none;position:absolute;left:16px;right:16px;top:72px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:var(--r-md);padding:10px;z-index:100;flex-direction:column;align-items:stretch;gap:0}
  body.mobile-nav-open .nav{display:flex}
  .nav>li{border-bottom:1px solid #eee}
  .nav>li:last-child{border-bottom:0}
  .megamenu,.submenu{position:static;display:none;min-width:0;box-shadow:none;border:0;background:#fafaf7;margin-top:10px}
  
  .hero{min-height:auto}
  .video-box{height:auto;min-height:300px}
  .partner-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .contact-info-grid,
.contact-bottom-grid,
.faq-grid{grid-template-columns:1fr}
  .ref-card{min-width:100%}
  .topbar .container{flex-direction:column;align-items:flex-start;padding:8px 0;gap:8px}
}
/* Mobilné menu (☰) do 1260 px (5. 11. 2026): so šiestou položkou „Katalóg automatov TCN" sa menu v riadku zmestí
   až od ~1260 px (nemčina „Katalog der TCN-Automaten" sa lámala pri 1200–1240) — pri 960–1140 px sa položky lámali na 2–3 riadky, bez lámania sa scvrklo logo.
   Meria skusky/menu_v_riadku.mjs. Lišta, slajd a ostatné rozloženie ostávajú pri 950/900 px. */
@media(max-width:1260px){
  .nav{display:none}
  .header{height:auto;min-height:70px}
  .header .container{min-height:70px;align-items:center;position:relative}
  .header .logo{margin-right:auto}   /* lupa, jazyk a ☰ spolu vpravo — bez menu by ich space-between rozhádzal po šírke (1024 px) */
  .mobile{display:block;cursor:pointer;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--green);font-weight:var(--fw-heavy)}
  .nav{position:absolute;left:16px;right:16px;top:72px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:var(--r-md);padding:10px;z-index:100;flex-direction:column;align-items:stretch;gap:0}
  body.mobile-nav-open .nav{display:flex}
  .nav>li{border-bottom:1px solid #eee}
  .nav>li:last-child{border-bottom:0}
  .megamenu,.submenu{position:static;display:none;min-width:0;box-shadow:none;border:0;background:#fafaf7;margin-top:10px}
}
@media(max-width:640px){
  .container{width:min(100% - 22px, 100%)}
  h1{letter-spacing:-1px}
  h2{letter-spacing:-.5px}
  .lead{font-size:var(--fs-lg)}
  .buttons{flex-direction:column;align-items:stretch}
  .btn{width:100%}
  .cards,
.partner-strip{grid-template-columns:1fr}
  .logo{font-size:28px}
}
/* v224 responzívne doladenie administrácie */
@media(max-width:980px){
  .side,.admin-panel,.editor-panel,.detail{width:100%!important;max-width:100%!important;min-width:0!important;margin-bottom:18px!important}
}


/* v225 Partner logos robust fit fix:
   Euroleasing and any future wide/tall logo must stay fully visible in grid and marquee modes. */
.partner-item{
  min-width:0;
  overflow:visible;
  height:var(--partner-card-height,110px);
}
.partner-strip.partner-marquee .partner-item{
  flex:0 0 var(--partner-card-width,240px);
  width:var(--partner-card-width,240px);
  height:var(--partner-card-height,112px);
  padding:18px 22px;
  overflow:visible;
}
.partner-item img,
.partner-item .partner-logo-media,
.partner-item .partner-logo-media .v141-media,
.partner-item .partner-logo-media .v141-media-frame,
.partner-item .partner-logo-media img{
  max-width:100% !important;
  max-height:100% !important;
  overflow:visible !important;
}
.partner-item img,
.partner-item .partner-logo-media img{
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}
.partner-item > img{
  max-width:min(var(--partner-logo-max-width,240px),100%) !important;
  max-height:min(var(--partner-logo-height,84px),100%) !important;
}
.partner-item .partner-logo-media{
  width:min(var(--partner-logo-max-width,240px),100%) !important;
  height:min(var(--partner-logo-height,84px),100%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.partner-item .partner-logo-media .v141-media-frame{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.partner-item .partner-logo-media a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
}
@media(max-width:760px){
  .partner-strip.partner-marquee .partner-item,
  .partner-item{
    height:var(--partner-card-height,112px);
    min-height:112px;
  }
  /* Pás partnerov je na mobile mriežka 2 × N (vyššie), ale šírka karty z počítača (240 px, pravidlo vyššie
     mimo @media) ju prebíjala — karty sa prekrývali (zistené 27. 9. 2026 pri tlačidle pohybu; na ostrom
     webe nebolo vidno, partneri sú tam mriežka). */
  .partner-strip.partner-marquee .partner-item{width:auto;flex:none;min-width:0}
}


/* v226: produktový obrázok bez efektu dvojitého obrázka/rámu.
   Pôvodne bol biely vonkajší box + sivý vnútorný box + obrázok s vlastným pozadím,
   čo vyzeralo ako dve prekryté fotografie. Teraz je len jeden čistý rám. */
/* 8. 10. 2026: fotka a náhľady v jednom okne (rám nesie .product-pro-gallery ako okno vedľa), fotka zaberie výšku okna. */
.product-detail-v78 .product-gallery{
  display:flex;
  flex-direction:column;
}
.product-detail-v78 .main-product-image{
  background:#fff !important;
  padding:0 !important;
  height:auto !important;
  min-height:520px !important;
  flex:1 1 auto;
  overflow:hidden !important;
}
.product-detail-v78 .main-product-image img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:640px !important;
  object-fit:contain !important;
  margin:0 auto !important;
}
.product-detail-v78 .product-thumbs{
  padding-top:16px;
  border-top:1px solid var(--line);
}
.product-detail-v78 .thumb{
  overflow:hidden !important;
}
@media(max-width:1150px){
  .product-detail-v78 .main-product-image{
    min-height:420px !important;
  }
  .product-detail-v78 .main-product-image img{
    max-height:520px !important;
  }
}
@media(max-width:700px){
  .product-detail-v78 .main-product-image{
    min-height:320px !important;
  }
  .product-detail-v78 .main-product-image img{
    max-height:420px !important;
  }
}

.product-detail-v78 .product-thumbs:empty{display:none !important;}

/* v230: vyhľadávací nadpis nie je HTML H2, aby neovplyvňoval SEO štruktúru stránky. */
.search-title{font-size:var(--fs-h2);line-height:1.2;font-weight:var(--fw-heavy);color:var(--green);margin:0}
/* Menu ovládateľné klávesnicou a dotykom (25. 9. 2026). Rozbaľovacie položky sú <button class="menu-rozbal">
   — vyzerajú ako doterajší text. Otvorené podmenu = trieda .otvorene (prepína app.js); na počítači
   ostáva otváranie myšou (:hover). Klávesnica: trieda .v-fokuse (app.js, focusin/focusout) — CSS :has(:focus-visible)
   nestačí, pri Tabe je fokus na okamih mimo a podmenu sa skryje skôr, než doň fokus prejde. */
.nav .menu-rozbal{appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;text-align:left}
.mega-item>.menu-rozbal{display:block;width:100%}
/* „+" pred Produktmi je ikona, nie text (T84) — čítačka ho nečíta (druhá hodnota content = alternatívny text). */
.nav>li.ma-podmenu>.menu-rozbal::before{content:"+\00a0" / ""} /* nezlomiteľná medzera: v flex riadku (mobil) by obyčajná zmizla */
.nav .menu-rozbal:focus-visible,.mobile:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.nav>li.v-fokuse .megamenu{display:flex}
.mega-item.v-fokuse .submenu{display:block}
.nav>li.otvorene .megamenu{display:flex}
.mega-item.otvorene .submenu{display:block}
.nav>li.zatvorene .megamenu{display:none}
button.mobile{font-family:inherit;line-height:1}
@media(max-width:1260px){
  /* Na dotyku riadi podmenu len ťuknutie (trieda .otvorene), nie :hover — ten po ťuknutí „skákal". */
  .nav li:hover .megamenu,.mega-item:hover .submenu{display:none}
  .nav>li.otvorene .megamenu,.mega-item.otvorene .submenu,.nav>li.v-fokuse .megamenu,.mega-item.v-fokuse .submenu{display:block}
  .nav>li.zatvorene .megamenu{display:none}
}
/* Kontrast K2, K3 (schválené 25. 9. 2026): biely text na oranžovom a malý oranžový text majú tmavší
   odtieň tej istej oranžovej (#c25700, 4,5 : 1). --orange ostáva pre veľký text („TCN" v nadpise) a ikony. */
:root{--orange-text:#c25700}
.btn.orange,.contact-map-under .map a,
.product-filter-row button.active,.product-filter-row button.active:hover,.product-filter-row button.active:focus,
.product-filter-row a.active,.blog-tags button.active,.blog-tags button.active:hover,.blog-tags button.active:focus,
.tag-link.active{background:var(--orange-text)!important;border-color:var(--orange-text)!important}
.badge,.product-category{color:var(--orange-text)!important}
/* ikony Kontaktu na béžovom pozadí (2,82 → 3 : 1 pre grafiku), 25. 9. 2026 */
.contact-info-grid .contact-icon{color:var(--orange-text)!important}
/* Mobil: parametre ako karty, detail produktu, menu na ťuknutie (kontrola 24. 9. 2026; skúška skusky/mobil.mjs).
   Desktop sa nemení — všetko je v mobilných šírkach. */
@media(max-width:980px){
  /* Mriežka detailu mala stĺpec podľa najširšieho obsahu (leasing 326 px) → stránka širšia než obrazovka. */
  .product-pro-hero{grid-template-columns:minmax(0,1fr)}
  .product-pro-hero>*{min-width:0}
}
@media(max-width:700px){
  .product-param-table,.product-param-table tbody,.product-param-table tr,.product-param-table th,.product-param-table td{display:block;width:auto}
  .product-param-table tr{border:1px solid #ddd;border-radius:var(--r-md);overflow:hidden;margin-bottom:10px}
  .product-param-table th,.product-param-table td{border:0}
  .product-param-table th{padding:10px 15px 4px}
  .product-param-table td{padding:4px 15px 12px}
}
@media(max-width:1260px){
  /* Ťuknúť sa dá na celý riadok (≥ 44 px), nie len na text. Vzhľad riadku ostáva (predtým 12 px + text + 12 px). */
  .nav>li{padding:0}
  .nav>li>a,.nav>li>span,.nav>li>.menu-rozbal{display:flex;align-items:center;width:100%;min-height:44px;padding:12px 10px;box-sizing:border-box}
  /* Podmenu pod tlačidlom, nie vedľa neho (.mega-item je na počítači flex v riadku). */
  .nav .megamenu,.nav .mega-col,.nav .submenu{min-width:0}
  .nav .mega-item{display:block;padding:0}
  .nav .mega-item>.menu-rozbal{display:flex;align-items:center;min-height:44px;padding:10px 16px;box-sizing:border-box}
  .nav .mega-item>a,.nav a.mega-item{display:flex;align-items:center;min-height:44px;padding:10px 16px;box-sizing:border-box}
  .nav .submenu{margin:0 0 6px 16px;padding:4px 0}
  .nav .submenu a{display:flex;align-items:center;min-height:44px;padding:8px 16px;box-sizing:border-box}
}
/* Formulár (kontrola 24. 9. 2026): pole, na ktoré skočí prehliadač pri chybe, nesmie skončiť pod lepiacou
   hlavičkou (71 px) — platí aj pre skoky na kotvy. Tlačidlo <button> nededilo veľkosť písma (13,3 px
   namiesto 16 px ako ostatné tlačidlá). */
html{scroll-padding-top:96px}
button.btn{font-size:inherit;line-height:inherit}
/* Obmedzený pohyb (prefers-reduced-motion, kontrola 24. 9. 2026): pás oznamu stojí a jeho text je v páse
   (inak ho vložený štýl posúva o 100 % mimo). Slajdery zastavuje app.js. Plocha bodiek slajdera
   a referencií aspoň 24 × 24 px (WCAG 2.5.8) — neviditeľným okrajom, vzhľad bodiek sa nemení. */
@media (prefers-reduced-motion: reduce){
  .announcement-bar .announcement-track{animation:none!important;transform:none!important;padding:0 16px!important;white-space:normal!important}
  .announcement-bar{height:auto!important;min-height:30px;padding:4px 0}
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-iteration-count:1!important}
}
.hero-dot,.ref-dot{position:relative}
.hero-nav{gap:11px} /* stredy bodiek 24 px od seba (13 + 11) — plochy sa neprekrývajú; predtým 10 px */
.hero-dot::before,.ref-dot::before{content:"";position:absolute;left:50%;top:50%;width:24px;height:24px;transform:translate(-50%,-50%)}
/* Horná lišta: telefón a e-mail sú odkazy, vyzerajú ako doterajší text (kontrola 24. 9. 2026). */
.topbar a.topbar-odkaz{color:inherit;text-decoration:none}
.topbar a.topbar-odkaz:hover,.topbar a.topbar-odkaz:focus-visible{text-decoration:underline}
/* Tlačidlo „hore" až po odrolovaní — navrchu prekrývalo menu a karty. Skrýva ho len skript (app.js
   pridá triedu ma-hore-skript), bez skriptu ostáva viditeľné. */
.ma-hore-skript .back-to-top{opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.ma-hore-skript .back-to-top.viditelne{opacity:1;visibility:visible}
/* Súhlas vo formulári: políčko vedľa textu, nie roztiahnuté cez celú šírku (dedilo width:100% polí). */
.form .suhlas{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.form .suhlas input[type=checkbox]{width:20px;height:20px;min-width:20px;margin:2px 0 0;padding:0;flex:0 0 auto}
.form .suhlas a{color:inherit;text-decoration:underline}
/* Popis nad poľom formulára (27. 9. 2026) — predtým len placeholder, ktorý pri písaní zmizne */
.form .pole{display:flex;flex-direction:column;gap:6px;min-width:0}
.form .pole-popis{font-weight:var(--fw-bold);font-size:var(--fs-base);line-height:1.3;color:var(--text)}
/* Informácia o spracúvaní nad tlačidlom (dopyt bez súhlasu, 27. 9. 2026) */
.form .form-info{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--muted)}
.form .form-info a{color:inherit;text-decoration:underline}
/* Dlhé slovo v nadpise (nemčina: „Konfigurationsmöglichkeiten" 506 px) roztiahlo mriežku detailu produktu
   na 575 px pri 360 px obrazovke. Na mobile sa slová v nadpisoch delia podľa jazyka stránky (lang),
   a keď slovník nepozná delenie, zalomí sa slovo radšej, než by pretieklo. Desktop bez zmeny. (25. 9. 2026) */
@media(max-width:700px){h1,h2,h3,h4{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}}
/* Drobček: medzi odkazom a „›" nie je medzera, „Warenautomaten›Automat" bolo jedno nezalomiteľné slovo
   a na 360 px pretieklo o 36 px. Oddeľovač ako inline-block = miesto na zalomenie; vzhľad rovnaký. (25. 9. 2026) */
.breadcrumbs span{display:inline-block}
/* Drobček na mobile: keď sa zalomí, odkazy (17 px) boli nad sebou bližšie než 24 px — WCAG 2.5.8 (AA)
   výnimka rozostupu neplatila (skúška skusky/velkost_cielov.mjs, 12 nálezov). Medzera 8 px len MEDZI zalomenými
   riadkami (17 + 8 ≥ 24) — jednoriadkový drobček bez zmeny (prvá verzia s line-height posunula celú stránku o 7 px).
   Desktop bez zmeny. (26. 9. 2026) */
@media(max-width:700px){.breadcrumbs .container{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:8px}}
/* Dĺžka riadku textu najviac ~70 znakov (27. 9. 2026). Odporúčaných 45–75; na počítači malo 23 odsekov 86–134 znakov
   (Produkty, Služby, O nás, NAYAX, Zásady) — oko ťažko nájde začiatok ďalšieho riadku. V úzkych kartách sa nič
   nemení (sú užšie). Centrované texty ostanú centrované. */
.rich-text p,.rich-text li,.rich-text blockquote,.lead,.center > p,.product-pro-card > p{max-width:70ch}
.center > p,.center .rich-text p,.center .rich-text li,.center .lead{margin-left:auto;margin-right:auto}
/* Upozornenie (Služby: „Čo vám nemôžeme ponúknuť:"): nadpis na riadku, text pod ním na celú šírku rámčeka. Hranica
   70 znakov tu zalomila krátky text na 707 px pri 1 276 px miesta (Ivan 8. 10. 2026: „veď sa to zmestí"). Nadpis s textom
   v jednom riadku sa na 1440 nezmestia — samotné „financovanie." by ostalo na druhom riadku. */
.notice .rich-text p{max-width:none;margin:0}

/* Partneri v mriežke: všetci v JEDNOM riadku, logá sa zmenšia úmerne (Ivan 28. 9. 2026: „zmenši logá úmerne tak, aby
   sa zobrazili všetky v partneroch bez posúvania" — so 6. partnerom PAX sa pevných 5 stĺpcov zalomilo do 2 riadkov
   a na mobile bolo 6 kariet pod sebou, 866 px). Stĺpcov = počet partnerov (--partner-pocet zo servera); na mobile 3
   stĺpce. Výška karty plynulo so šírkou okna; logo v nej drží pomer strán (object-fit: contain vyššie). */
.partner-strip.partner-static-grid{grid-template-columns:repeat(var(--partner-pocet,5),minmax(0,1fr));gap:clamp(8px,1.4vw,24px)}
.partner-strip.partner-static-grid .partner-item{height:clamp(64px,8vw,128px);min-height:0 !important;padding:clamp(8px,1.1vw,18px) !important}
@media(max-width:640px){
  .partner-strip.partner-static-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .partner-strip.partner-static-grid .partner-item{height:72px}
}

/* JEDEN FORMÁT PLOCHY SLAJDU (Ivan 28. 9. 2026: „zjednoť formát slajdu — plochu pre obrázky, prípadne video alebo iné").
   Predtým: video 641 × 430 (menšie šírky 320, mobil min. 300), grafika 340 px napevno, obrázok/video z adminu 340 px —
   každý slajd iná výška. Teraz všetky 16 : 9 (najbežnejší formát videa a fotiek) na každej šírke; výška z šírky.
   Obsah vnútri v percentách, aby sa zmestil do rovnakej plochy na počítači aj mobile. Rozmer z adminu (média)
   formát neprebije — ten je spoločný pre všetky slajdy. */
.hero-slide-real .video-box,
.hero-slide-real .hero-visual-card{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:16 / 9 !important;
}
.hero-slide-real .v134-hero-media img,
.hero-slide-real .v134-hero-media video,
.hero-slide-real .v134-hero-media iframe{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
}
/* video: silueta automatu v pomere k ploche */
.hero-slide-real .machine-silhouette{left:6%;width:36%;height:88%}
.hero-slide-real .machine-silhouette:before{left:12%;top:10%;width:52%;height:58%}
.hero-slide-real .machine-silhouette:after{top:22%;right:7%;font-size:clamp(10px,2.2vw,16px);padding:clamp(6px,1.2vw,12px) clamp(4px,.8vw,8px)}
.hero-slide-real .video-box .play{width:clamp(44px,10vw,74px);height:clamp(44px,10vw,74px);font-size:clamp(20px,4.6vw,34px)} /* na 390 px sa prekrýval s „CARD" */
/* automaty: tri siluety */
.hero-slide-real .hero-mini-machines{left:8%;right:8%;height:90%;gap:4%}
/* platby a kroky: dlaždice vystredené v ploche */
.hero-slide-real .hero-payment-icons{padding:9% 9%;gap:clamp(8px,2vw,24px);align-content:center}
.hero-slide-real .hero-payment-icons div{min-height:clamp(44px,7vw,80px)}
/* financovanie: dve logá vystredené */
.hero-slide-real .hero-finance-box{inset:0;padding:9%;align-content:center;gap:clamp(8px,2vw,20px);grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-slide-real .hero-finance-box div{padding:clamp(10px,2.4vw,34px);min-width:0}
/* logo nesmie byť širšie než dlaždica (na 390 px GRENKE pretekalo mimo plochy) */
.hero-slide-real .hero-finance-box.logo-finance img,
.hero-slide-real .hero-finance-box.logo-finance img[alt*="Euroleasing"]{max-width:min(180px,100%) !important} /* Euroleasing má vyššie max-width 250px !important */

/* NADPIS STRÁNKY (H1) — jeden komponent pre celý web (28. 9. 2026, Ivan: „oprav všetko… webstránku dokonalú"):
   stránky z modulu Stránky (O nás, ICT…), katalóg, Služby, Aktuality, Kontakt. Predtým mali štyri z nich skrytý H1
   a viditeľný nadpis ako H2; vzhľad ako doterajší H1 stránok (zelená, 800, --fs-h1). Úvod má vlastný nadpis slajdu. */
.stranka-uvod h1,
.nadpis-stranky{font-size:var(--fs-h1)!important;line-height:1.2!important;color:var(--green);letter-spacing:-.04em;font-weight:var(--fw-heavy);margin:10px 0 18px}


/* Karty katalógu na úvode: stĺpcov = počet kariet (4 so Smart Fridge, 29. 9. 2026) — pevné 3 by nechali štvrtú samu
   v druhom riadku. Do 1180 px ostávajú 2 stĺpce a na mobile 1 (pravidlá .cards vyššie). */
@media(min-width:1181px){#homepage-catalog-root .cards{grid-template-columns:repeat(var(--pocet-kariet,3),minmax(0,1fr))}}


/* TLAČIDLÁ A STAVY (Ivan 29. 9. 2026: „ak sa myšou presuniem … nezmení farbu", „A, sprav všetko"). Pravidlo je
   v Web_Vendea/CLAUDE.md, meria ho skusky/tlacidla.mjs. Poradie dôležitosti: hlavné (oranžové, jedno v sekcii),
   vedľajšie (biele s obrysom). Dve veľkosti: bežná --btn-h a malá --btn-h-sm (karta) — predtým 41/50/54/55/58 px.
   Každý klikateľný prvok sa pod myšou zmení; klikateľný TEXT zoranžovie (ako menu), plochy (štítok, filter,
   bodka, náhľad) stmavnú, karta produktu sa nadvihne (už predtým). Pri stlačení sa tlačidlo pohne o 1 px nadol. */
:root{
  --btn-h:54px;              /* bežné tlačidlo */
  --btn-h-sm:41px;           /* malé tlačidlo v karte (produkt, článok) */
  --orange-hover:#9e4700;    /* hlavné tlačidlo pod myšou — tmavší odtieň --orange-text (biely text 6,4 : 1) */
  --green-hover-bg:#dcefd6;  /* štítok a filter pod myšou */
}
.btn{min-height:var(--btn-h);line-height:1.25;transition:background-color .15s,border-color .15s,color .15s,transform .15s}
button.btn{line-height:1.25}
.product-card-actions .btn,.blog-card .btn{min-height:var(--btn-h-sm)}
.btn.orange:hover,.contact-map-under .map a:hover{background:var(--orange-hover)!important;border-color:var(--orange-hover)!important;color:#fff;filter:none}
.btn.outline:hover{background:var(--black);border-color:var(--black);color:#fff}
.btn:active,.contact-map-under .map a:active{transform:translateY(1px)}

/* klikateľný text: v obsahu, v päte, rozbaľovacie otázky */
.rich-text a:not(.btn):hover,.form-info a:not(.btn):hover,main p a:not(.btn):hover,.stranka-obsah a:not(.btn):hover{color:var(--orange-text)}
.footer a[href]:hover{color:var(--orange)!important}
.faq-mini button:hover,.faq-grid button:hover{color:var(--orange-text)}
/* plochy: štítky, filtre, bodky slajdera a referencií, náhľady fotiek */
.product-filter-row a:not(.active):hover,.blog-tags a:not(.active):hover,.tag-link:not(.active):hover{background:var(--green-hover-bg)!important;border-color:var(--green)!important}
.hero-dot:not(.active):hover{background:#a8a8a0}
.ref-dot:not(.active):hover{background:#c8c8c2}
.product-thumbs .thumb:not(.active):hover{border-color:var(--orange)}
@media (prefers-reduced-motion: reduce){.btn{transition:none}.btn:active{transform:none}}
/* odkaz pod videom „Viac o firme" (predtým text, ktorý vyzeral ako odkaz) */
.official-video-caption span a{color:var(--green);font-weight:var(--fw-bold);text-decoration:underline;display:inline-block;padding:4px 0}
.official-video-caption span a:hover{color:var(--orange-text)}

/* Ikona rozbalenia otázok (FAQ, výhody TCN): „+", pri otvorení sa otočí na „×" (Ivan 29. 9. 2026: „súhlasím s plus" —
   predtým šípka „→" ako text). Kreslená čiarami, farba podľa textu otázky (aj pod myšou). */
.rozbal-ikona{position:relative;flex:0 0 18px;width:18px;height:18px;margin-left:16px;transition:transform .2s}
.rozbal-ikona::before,.rozbal-ikona::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;border-radius:var(--r-sm);background:currentColor}
.rozbal-ikona::after{transform:rotate(90deg)}
.item.open > button .rozbal-ikona{transform:rotate(45deg)}
@media (prefers-reduced-motion: reduce){.rozbal-ikona{transition:none}}


/* OVLÁDANIE (nezávislý audit 29. 9. 2026, FAKTY/audit_ux_2026-09-29.md; meria skusky/ovladanie.mjs) */
/* „Preskočiť na obsah": prvý prvok pre klávesnicu, viditeľný len keď má fokus */
.preskocit{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--black);color:#fff;padding:12px 18px;border-radius:var(--r-sm);font-weight:var(--fw-heavy)}
.preskocit:focus{top:12px}
/* mobilné menu roluje samo (výšku do obrazovky nastaví app.js), stránka pod ním nie */
@media(max-width:1260px){body.mobile-nav-open .nav{overflow-y:auto;overscroll-behavior:contain}}
/* ↑ nezakrýva otvorené menu */
body.mobile-nav-open .back-to-top{display:none}
/* pod oknom vyhľadávania stránka neroluje */
html.hladanie-otvorene,html.hladanie-otvorene body{overflow:hidden}
/* výber jazyka: Escape ho zavrie aj s fokusom vnútri (app.js .zatvorene) */
.lang-switcher-v98.zatvorene .lang-menu-v98{display:none!important}
/* úvod sekcie Objednávka centrovaný ako ostatné hlavičky sekcií (odsek bol 107 px vľavo — max. 70 znakov bez okrajov auto) */
.order-intro .rich-text p,.order-intro .rich-text li{margin-left:auto;margin-right:auto}
/* karty katalógu na úvode: tlačidlo „Detail" dole, v jednom rade pri rôzne dlhých textoch */
#homepage-catalog-root .product-card{display:flex;flex-direction:column}
#homepage-catalog-root .product-card .body{flex:1;display:flex;flex-direction:column;align-items:flex-start}
#homepage-catalog-root .product-card .body .btn{margin-top:auto}
/* slajdy úvodu majú výšku najvyššieho (app.js), obsah kratšieho je v nej vycentrovaný */
.hero-slider > .hero-slide-real.active{min-height:inherit}
.preskocit:hover{background:var(--orange-text)}
.tcn-bod.skryta:not(.otvoreny) .tcn-bublina{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:700px){body:has(#parametre-automatu .tcn-bod.otvoreny) .back-to-top{display:none}}

/* Tlačidlo odoslania formulára veľké ako ostatné tlačidlá, nie cez celú šírku formulára, v strede pod formulárom (Ivan 30. 9. 2026 — bolo 1271 px).
   Na mobile ostáva cez celú šírku ako všetky tlačidlá (@media 640 .btn{width:100%}). */
.form button[type=submit].full{justify-self:center;width:auto;min-width:220px}
@media(max-width:640px){.form button[type=submit].full{width:100%;justify-self:stretch}}

/* Tlačidlo s dlhým a krátkym textom (detail produktu, 30. 9. 2026): na mobile krátky, aby ostal v jednom riadku. */
.btn .text-kratky{display:none}
@media(max-width:640px){.btn .text-dlhy{display:none}.btn .text-kratky{display:inline}}

/* SÚHLAS S COOKIES (Ivan 30. 9. 2026, variant B): lišta dole, na mobile tlačidlá pod sebou cez celú šírku.
   Prijať a Odmietnuť rovnako výrazné (obe vedľajšie tlačidlá). ↑ sa kým je lišta otvorená skryje. */
.suhlas{position:fixed;left:16px;right:16px;bottom:16px;z-index:150;display:flex;justify-content:center}
.suhlas[hidden]{display:none}
.suhlas-box{width:min(1100px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow-float);border-top:4px solid var(--orange);padding:20px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 28px;align-items:center}
.suhlas-nadpis{grid-column:1;margin:0;font-size:var(--fs-lg)!important;color:var(--green)}
.suhlas-text{grid-column:1;margin:0;font-size:var(--fs-sm);color:var(--text);line-height:1.55}
.suhlas-text a{color:var(--green);text-decoration:underline}
.suhlas-text a:hover{color:var(--orange-text)}
.suhlas-volby{grid-column:1 / -1;display:grid;gap:10px;margin:8px 0}
.suhlas-volby[hidden]{display:none}
.suhlas-volba{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer}
.suhlas-volba input{width:20px;height:20px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--green)}
.suhlas-volba strong{display:block;color:var(--text)}
.suhlas-volba small{display:block;color:var(--muted);font-size:var(--fs-sm);line-height:1.5}
.suhlas-tlacidla{grid-column:2;grid-row:1 / span 2;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.suhlas-volby:not([hidden]) ~ .suhlas-tlacidla{grid-column:1 / -1;grid-row:auto}
body:has(#suhlas:not([hidden])) .back-to-top{display:none}
@media(max-width:800px){
  .suhlas{left:8px;right:8px;bottom:8px}
  .suhlas-box{grid-template-columns:1fr;padding:16px}
  .suhlas-tlacidla{grid-column:1;grid-row:auto;justify-content:stretch}
  .suhlas-tlacidla .btn{flex:1 1 100%}
}
/* päta: odkaz, ktorý znova otvorí výber cookies */
.footer-spodok{padding-top:18px;padding-bottom:24px;border-top:1px solid rgba(255,255,255,.12)}
.pata-cookies{background:none;border:0;padding:4px 0;min-height:24px;color:var(--text-on-dark);font:inherit;font-size:var(--fs-sm);text-decoration:underline;cursor:pointer}
.pata-cookies:hover{color:var(--orange)}
/* mapa na Kontakte vedľa adresy (na mobile nad ňou); iframe až so súhlasom alebo po kliknutí */
/* jedno pole (Ivan 30. 9. 2026): so súhlasom celé pole mapa; bez neho na tom istom mieste adresa z adminu, vysvetlenie
   a „Zobraziť mapu" */
.contact-map-under{border-radius:var(--r-md);overflow:hidden}
.kontakt-mapa{min-height:460px;background:#e8efe4;display:grid;place-items:center;text-align:center;padding:32px 24px}
.kontakt-mapa.nacitana{padding:0;display:block}
.kontakt-mapa iframe{width:100%;height:460px;border:0;display:block}
.kontakt-mapa-zastupca > p{margin:0 0 16px;color:var(--text)}
.kontakt-mapa-zastupca .map{height:auto!important;background:none!important;padding:0 0 12px!important}
@media(max-width:800px){.kontakt-mapa{min-height:340px}.kontakt-mapa iframe{height:340px}}
/* hidden musí skrývať aj .btn (display:inline-flex by ho prebil — „Uložiť výber" bol vidno aj v prvej lište) */
.suhlas [hidden]{display:none!important}

/* dve tlačidlá pri mape (len tentoraz / vždy); na mobile pod sebou cez celú šírku */
.kontakt-mapa-tlacidla{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
@media(max-width:640px){.kontakt-mapa-tlacidla .btn{flex:1 1 100%}}
/* Rám obrázka produktu s pomerom strán z adminu / importu: obrázok celý v ráme. .product-detail-v78 .main-product-image img
   mu dáva height:auto (prirodzená výška) — pri ráme 4:3 a štvorcovej fotke bol spodok orezaný (1. 10. 2026, import z TCN). */
.product-detail-v78 .main-product-image .v141-media-frame[style*="aspect-ratio"] > img,
.product-detail-v78 .main-product-image .v141-media-frame[style*="aspect-ratio"] > a > img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:contain !important;
}
/* Zväčšenie fotky produktu (1. 10. 2026). Lupa v rohu hlavnej fotky; fotka v bielom okne len o trochu väčšom než fotka
   (Ivan: „nie na celú obrazovku, ale iba o trochu väčšie"), stránka za ním stmavená. Na mobile šípky pod fotkou. */
.product-gallery .main-product-image{position:relative}
.product-gallery .main-product-image img{cursor:zoom-in}
.zvacsit-obrazok{position:absolute;right:12px;bottom:12px;width:44px;height:44px;border-radius:var(--r-kruh);border:1px solid rgba(0,0,0,.12);background:#fff;color:var(--text);display:grid;place-items:center;cursor:zoom-in;box-shadow:var(--shadow-sm);transition:background .15s,color .15s,transform .1s}
.zvacsit-obrazok:hover{background:var(--black);color:#fff}
.zvacsit-obrazok:active{transform:scale(.94)}
.zvacsit-obrazok:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.zvacsenie{width:fit-content;height:fit-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:20px 20px 52px;border:0;border-radius:var(--r-md);background:#fff;color:var(--text);box-shadow:var(--shadow-float);overflow:visible}
.zvacsenie::backdrop{background:rgba(0,0,0,.6)}
.zvacsenie-obrazok{display:block;max-width:min(980px, calc(100vw - 72px));max-height:calc(100dvh - 124px);width:auto;height:auto;object-fit:contain;touch-action:pan-y;user-select:none}
.zvacsenie-zavriet,.zvacsenie-sipka{position:absolute;width:44px;height:44px;border-radius:var(--r-kruh);border:1px solid rgba(0,0,0,.14);background:#fff;color:var(--text);font-size:var(--fs-h3);line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s,color .15s,transform .1s}
.zvacsenie-zavriet:hover,.zvacsenie-sipka:hover{background:var(--black);color:#fff}
.zvacsenie-zavriet:active,.zvacsenie-sipka:active{transform:scale(.94)}
.zvacsenie-zavriet:focus-visible,.zvacsenie-sipka:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.zvacsenie-zavriet{top:-14px;right:-14px}
.zvacsenie-sipka{top:calc(50% - 16px);transform:translateY(-50%)}
.zvacsenie-sipka:active{transform:translateY(-50%) scale(.94)}
.zvacsenie-spat{left:-14px}
.zvacsenie-dalej{right:-14px}
.zvacsenie-pocet{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-size:var(--fs-sm);color:var(--muted)}
@media(max-width:640px){
  .zvacsenie{max-width:calc(100vw - 24px);padding:12px 12px 64px}
  .zvacsenie-obrazok{max-width:calc(100vw - 48px);max-height:calc(100dvh - 150px)}
  .zvacsenie-zavriet{top:-12px;right:-12px}
  .zvacsenie-sipka{top:auto;bottom:10px;transform:none}
  .zvacsenie-sipka:active{transform:scale(.94)}
  .zvacsenie-spat{left:12px}
  .zvacsenie-dalej{right:12px}
  .zvacsenie-pocet{bottom:22px}
}
/* Fotka automatu na karte katalógu: jednotný rám 9:11 (ako fotky automatov 900×1100), fotka celá a v strede — karty
   rovnako vysoké aj pri štvorcovej fotke z importu TCN (1. 10. 2026, Ivan: „aspoň s tak veľkým ako majú ďalšie automaty";
   CEL-9C mal 267×200, ostatné 267×327). Platobné systémy (logá) majú inú triedu a ostávajú. */
.product-card-image .product-card-media,
.product-card-image .product-card-media .v141-media-frame{
  width:100% !important;
  aspect-ratio:9 / 11 !important;
}
.product-card-image .product-card-media .v141-media-frame > img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:contain !important;
}
/* Popis pod odkazom v podmenu (6. 10. 2026): názov ako doteraz, pod ním menším bežným písmom, čo to je. */
.submenu a:has(.menu-popis){display:flex !important;flex-direction:column !important;align-items:flex-start !important;justify-content:center}   /* mobil: odkazy v rade — popis pod názov */
.submenu a .menu-nazov{display:block}
.submenu a .menu-popis{display:block;margin-top:2px;font-size:var(--fs-xs);font-weight:var(--fw-normal);text-transform:none;letter-spacing:normal;line-height:1.35;color:var(--muted)}
.submenu a:hover .menu-popis,.submenu a:focus-visible .menu-popis{color:inherit}
/* „Produkty" je odkaz na katalóg a vedľa šípka rozbalí podmenu (6. 10. 2026). Na počítači sa podmenu otvára aj pod myšou
   ako doteraz; šípka je pre dotyk a klávesnicu. Na mobile: ťuk na názov = stránka, ťuk na šípku (44 px) = podmenu. */
.nav>li.ma-odkaz{display:flex;align-items:center;gap:2px}
.nav>li.ma-odkaz>.menu-hlavny{color:inherit;text-decoration:none}
.nav>li.ma-odkaz>.menu-sipka{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:var(--r-sm)}
.nav>li.ma-odkaz>.menu-sipka::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.nav>li.ma-odkaz.otvorene>.menu-sipka::before{transform:translateY(2px) rotate(-135deg)}
.nav>li.ma-odkaz>.menu-sipka:hover{color:var(--orange);background:rgba(0,0,0,.04)}
.nav>li.ma-odkaz>.menu-sipka:active{transform:scale(.92)}
@media(max-width:1260px){   /* ako mobilné menu (.nav>li{padding:0}) */
  .nav>li.ma-odkaz{flex-wrap:wrap;gap:0}
  .nav>li.ma-odkaz>.menu-hlavny{flex:1;display:flex;align-items:center;min-height:44px;padding:12px 10px;box-sizing:border-box}
  .nav>li.ma-odkaz>.menu-sipka{width:44px;height:44px;flex:0 0 44px}
  .nav>li.ma-odkaz>.megamenu{flex-basis:100%}
}
/* Skupina v podmenu s adresou (Predajné automaty → produkty/predajne-automaty, 6. 10. 2026): názov je odkaz na stránku
   skupiny, šípka vedľa rozbalí jej položky. Na počítači sa položky otvárajú aj pod myšou; na mobile šípka 44 px. */
.mega-item.ma-odkaz{align-items:center;gap:8px}
.mega-item.ma-odkaz>.menu-skupina{flex:1;color:inherit;text-decoration:none}
.mega-item.ma-odkaz>.menu-sipka{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:var(--r-sm)}
.mega-item.ma-odkaz>.menu-sipka::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateX(-2px) rotate(-45deg)}
.mega-item.ma-odkaz>.menu-sipka:hover{color:var(--orange);background:rgba(0,0,0,.04)}
.mega-item.ma-odkaz>.menu-sipka:active{transform:scale(.92)}
@media(max-width:1260px){
  .nav .mega-item.ma-odkaz{display:flex;flex-wrap:wrap;align-items:center;gap:0}
  .nav .mega-item.ma-odkaz>.menu-skupina{flex:1;display:flex;align-items:center;min-height:44px;padding:10px 16px;box-sizing:border-box}
  .nav .mega-item.ma-odkaz>.menu-sipka{width:44px;height:44px;min-height:44px;flex:0 0 44px;padding:0}
  .nav .mega-item.ma-odkaz>.menu-sipka::before{transform:translateY(-2px) rotate(45deg);transition:transform .15s}
  .nav .mega-item.ma-odkaz.otvorene>.menu-sipka::before{transform:translateY(2px) rotate(-135deg)}
  .nav .mega-item.ma-odkaz>.submenu{flex-basis:100%}
}
/* Riadok kategórií katalógu = menu: skupina (Predajné automaty, Platobné systémy) a jej položky (6. 10. 2026). */
.product-filter-row.filter-skupiny{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px}
.filter-skupina{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.filter-skupina .filter-polozky{display:flex;flex-wrap:wrap;gap:8px}
/* Názov skupiny je nadradený jej položkám: biely s plným zeleným obrysom (položky svetlozelené); skupiny oddelené čiarou. */
.product-filter-row a.filter-skupina-nazov:not(.active){background:#fff !important;border-color:var(--green) !important}
.filter-skupina+.filter-skupina{padding-left:28px;border-left:1px solid #d7ead2}
@media(max-width:700px){
  .product-filter-row.filter-skupiny{justify-content:flex-start;gap:14px !important}
  .filter-skupina{width:100%}
  .filter-skupina+.filter-skupina{padding-left:0;border-left:0;padding-top:14px;border-top:1px solid #d7ead2}
}
@media(min-width:901px){.mega-item.vlavo>.submenu{left:auto;right:100%}}   /* panel by presiahol okno → doľava (app.js) */
/* Zdieľanie článku (7. 10. 2026): vedľajšie tlačidlá v rade; na dotykovom zariadení len systémové „Zdieľať". */
.zdielanie{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));align-items:center;gap:10px;margin:28px 0}
.zdielanie-nadpis{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--muted)}
.zdielanie .btn{min-height:var(--btn-h-sm);padding:0 8px}
.zdielanie-stav{font-size:var(--fs-sm);color:var(--muted)}
.zdielanie.zdielanie-mobil .zdielanie-odkaz,.zdielanie.zdielanie-mobil .zdielanie-kopirovat{display:none}
/* Produkt (8. 10. 2026): zdieľanie v záverečnom bloku pod dopytom — na celú šírku, oddelené čiarou */
.product-pro-final-cta .zdielanie{flex-basis:100%;margin:4px 0 0;padding-top:20px;border-top:1px solid var(--line)}
.product-pro-riadok:not(.jedna) .product-pro-final-cta .zdielanie{margin-top:24px}   /* záver v polovici: h2, text, tlačidlo a zdieľanie pod sebou */
@media(max-width:980px){.product-pro-final-cta .zdielanie{margin-top:24px}}
/* Zdieľanie: tlačidlá rovnako široké v mriežke — 5 v rade, kde sa zmestia (aj záver produktu v polovici), inak úhľadne 3 + 2;
   predtým flex so šírkou podľa najdlhšieho a v polovici ostal „Kopírovať" sám na druhom riadku (8. 10. 2026). */
.zdielanie-nadpis,.zdielanie-stav,.zdielanie.zdielanie-mobil .zdielanie-telefon{grid-column:1/-1}
.zdielanie-stav:empty{display:none}
.zdielanie [hidden]{display:none !important}   /* .btn má display — inak by skryté „Zdieľať" (telefón) bolo vidno aj na počítači */
/* Video v galérii produktu (12. 10. 2026): posledný náhľad so znakom ▶; po kliknutí prehrávač v ploche hlavnej fotky
   (fotka a lupa sa skryjú, rozmer plochy ostáva — galéria neposkočí). */
.thumb-video{position:relative;background:var(--dark);overflow:hidden}
.thumb-video img{object-fit:cover;opacity:.75}
.thumb-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:var(--fs-lg);text-shadow:0 1px 3px rgba(0,0,0,.6)}
.thumb-video:hover .thumb-play{color:var(--orange)}
.main-product-image{position:relative}
.main-product-image.hra-video > :not(.main-product-video){visibility:hidden}
.main-product-video{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--dark);border-radius:inherit}
/* Náhľady galérie sa nesmú zmenšiť pod cieľ prsta (12. 10. 2026: 7 náhľadov pri 390 px malo 34 px — flex ich stláčal).
   Pevná veľkosť a zalomenie do ďalšieho riadku; na mobile 52 px, aby sa 5 zmestilo vedľa seba. */
.product-thumbs{flex-wrap:wrap}
.product-thumbs .thumb{flex:0 0 auto}
@media(max-width:700px){.product-thumbs{gap:8px}.product-thumbs .thumb{width:52px;height:52px;padding:3px}}
/* Video kategórie katalógu pod zoznamom automatov (12. 10. 2026) */
.katalog-video{max-width:880px;margin:var(--sekcia) auto 0}
.katalog-video h2{margin:0 0 18px}
.katalog-video .v139-media{width:100%}

/* JEDNOTNÝ VZHĽAD OBRÁZKOV A VIDEÍ V OBSAHU (Ivan 13. 10. 2026: „videá majú niekde zaoblené rohy a niekde nie. Všetky
   obrázky a videá musia mať jednotné rozmery a vizáž. Slide v úvode má v rohoch nejaké čierne oblúčiky alebo tmavé tiene.")
   Namerané vtedy na 48 stránkach (1440): video 6× hranaté, 1× zaoblené s tieňom a okrajom (článok); obrázok slidu zaoblený
   s tieňom na TMAVOM pozadí rámu (#111) — na zaoblenom okraji pod svetlou fotkou presvital tmavý oblúk. Teraz všetky rovnako:
   zaoblenie --r-md, bez tieňa a okraja, rám orezáva obsah (aj prehrávač po kliknutí). Tmavé pozadie len pod videom.
   Fotka v karte produktu je súčasť karty (rohy dáva karta), výrez automatu (.tcn-machine-img) nemá rám.
   Meria to skusky/vzhlad_medii.mjs. */
html body .hero-slide-real .hero-visual-card,
html body .v139-media-frame,
html body .vendea-video-nahlad,
html body .article-video-card,
html body #dynamic-article-root .article-media-card,html body #dynamic-article-root .article-video-card,   /* článok: pravidlá s ID */
html body .rich-text iframe,html body .rich-text video,
html body .article-text-pro iframe,html body .article-text-pro video,
html body .stranka-uvod-obrazok img,
html body .main-product-image{
  border-radius:var(--r-md) !important;
  overflow:hidden !important;
  box-shadow:none !important;
  border:0 !important;
}
html body .hero-slide-real .hero-visual-card:has(img):not(:has(.vendea-video-nahlad)){background:transparent !important}
/* Video v ráme 16 : 9 má výšku rámu — min-height 220 px z náhľadu (data-height) ho na mobile v článku natiahla na 311×220. */
html body .article-video-card .vendea-video-nahlad,html body .v139-media-frame .vendea-video-nahlad{min-height:0 !important;height:100% !important}
/* Video na úvode (Oficiálne zastúpenie TCN) bolo v karte, ktorá sa pod myšou nadvihla o 4 px a mala tieň --shadow-float —
   ostatné videá stoja (Ivan 13. 10. 2026: „sa po nábehnutí myšou pohne, iné videá to nerobia"). Pod myšou reaguje
   tlačidlo ▶ ako pri každom videu (obsah.css), karta stojí. */
html body .official-video-card,html body .official-video-card:hover{transform:none !important;box-shadow:none !important}

/* FOTKA PRODUKTU BEZ ZBYTOČNÉHO MIESTA (Ivan 14. 10. 2026: „produkty majú okolo obrázka zbytočne veľký voľný priestor; ak by sa
   okraje zmenili, aj by sa stránka trochu skrátila" — „skúsme to ako test"). Všetkých 25 fotiek je štvorec 800 × 800 a predmet
   v nich zaberá 85–93 % výšky; voľné miesto robil rám: karta katalógu 9 : 11 (z čias fotiek 900 × 1100) so sivým pozadím
   a odsadením 22 px (1440: rám 311 × 371, automat 235 px, nad a pod ním 68 px), detail štvorec 601 × 601 a náhľady v dvoch
   riadkoch, hoci pravý stĺpec mal priemerne 573 px. Teraz: karta = štvorec fotky na bielom, bez odsadenia; detail (od 701 px)
   fotka najviac 500 px vysoká a náhľady v jednom riadku (zmenšia sa, keď ich je veľa). Mobil v detaile ostáva. */
.product-card-image:has(.product-card-media){padding:0 !important;background:#fff !important;min-height:0 !important}
.product-card-image .product-card-media,
.product-card-image .product-card-media .v141-media-frame{aspect-ratio:1 / 1 !important;background:#fff !important}
@media(min-width:701px){
  html body .product-gallery .main-product-image{min-height:0 !important;height:auto !important}
  html body .product-gallery .main-product-image img{max-height:500px !important;width:auto !important;height:auto !important}
  html body .product-gallery .product-thumbs{flex-wrap:nowrap !important}
  html body .product-gallery .product-thumbs .thumb{flex:0 1 74px !important;min-width:44px;width:auto !important;height:auto !important;aspect-ratio:1 / 1}
}

/* Slajdy úvodu bez pozadia za obrázkom (Ivan 14. 10. 2026: „čo keby sa pozadie odstránilo na všetkých slajdoch; teraz ho
   niektoré majú a niektoré nie"). Namerané: 1. slajd svetlomodrý prechod vo fotke (nová fotka je priehľadná), 2. a 5. svetlozelený
   rám (.light), 3. a 4. bez pozadia. Teraz žiadny. */
html body .hero-slide-real .hero-visual-card{background:none !important}

/* CESTIČKA OSTÁVA POD MENU pri posúvaní (Ivan 14. 10. 2026: „pri skrolovaní dolu menu zostáva; je možné, aby zostával aj
   Domov › Produkty › … › TCN CFZ 1000 V10?"). Prilepená hneď pod hlavičku (78 px, na mobile 71 px). Na mobile mala cestička
   3 riadky (96 px) — prilepená by zaberala osminu obrazovky, preto je v jednom riadku a koniec cesty je vždy vidno.
   Skok na kotvu (otázka z vyhľadávania) počíta aj s ňou (scroll-padding). */
:root{--vyska-hlavicky:78px}
@media(max-width:1260px){:root{--vyska-hlavicky:71px}}   /* ako mobilné menu (5. 11. 2026) */
.breadcrumbs{position:sticky;top:var(--vyska-hlavicky);z-index:45}
html{scroll-padding-top:calc(var(--vyska-hlavicky) + 64px)}
@media(max-width:700px){
  .breadcrumbs{padding:12px 0}
  /* koniec cesty (stránka, na ktorej človek je) je vždy vidno: dlhá cesta sa dá posunúť prstom a app.js ju na začiatku
     posunie na koniec (prvá verzia ukazovala „Domov › Produkty › Predajné automaty › Smart F" a názov produktu vôbec).
     Krátka cesta ostáva zarovnaná vľavo ako doteraz. */
  .breadcrumbs .container{flex-wrap:nowrap !important;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
  .breadcrumbs .container::-webkit-scrollbar{display:none}
  .breadcrumbs .container > *{flex:0 0 auto}
}

/* Rozbaľovacie menu na počítači: šírka podľa najdlhšej položky, šípka 16 px za textom (8. 11. 2026, Ivan: „prečo sú tie
   šípky tak ďaleko od textu") — pevných 330 px pri položkách ~150 px dávalo šípku 140 px od textu. Šípky ostávajú pod
   sebou (zarovnané na najdlhšiu položku); podmenu sa pripája na okraj menu, nie na pevných 328 px. */
@media(min-width:1261px){
  .megamenu,.mega-col{min-width:0}
  .megamenu{width:max-content;min-width:200px}
  .mega-item.ma-odkaz{gap:16px}
  .submenu{left:100%}
}
