/* PROmont & steel — doladenia nad reálnym aiero CSS */

/* Preloader */
.preloader { position: fixed; inset: 0; z-index: 9999; background: #0b0c10; display: flex; align-items: center; justify-content: center; transition: opacity .5s ease, visibility .5s ease; }
.preloader.loaded { opacity: 0; visibility: hidden; }
.preloader-inner img { animation: psPulse 1.1s ease-in-out infinite; }
@keyframes psPulse { 0%,100% { opacity: .4; transform: scale(.92); } 50% { opacity: 1; transform: scale(1); } }

/* Reveal */
.ps-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.ps-reveal.in { opacity: 1; transform: none; }
.ps-reveal[data-d="1"]{transition-delay:.1s}.ps-reveal[data-d="2"]{transition-delay:.2s}.ps-reveal[data-d="3"]{transition-delay:.3s}

/* Logo veľkosť */
.header-logo img.ps-logo { height: 40px; width: auto; display: block; }
.footer-logo img.ps-logo { height: 42px; width: auto; display: block; }
.ps-mm-head img.ps-logo { height: 34px; width: auto; display: block; }
.ps-brand { line-height: 0; }
/* DÔLEŽITÉ #1: téma má .header-logo a:last-child{display:none} (ráta s dvoma logami –
   tmavé + biele pre sticky) a náš jediný logo-odkaz je :last-child => skrýval sa.
   Vynútime jeho zobrazenie. */
.header-logo .ps-brand,
.footer-logo .ps-brand { display: inline-flex !important; align-items: center; }
/* DÔLEŽITÉ #2: téma dáva .header-logo img filter:brightness(9/10) (pre tmavé hlavičky),
   čím nám logo na bielej hlavičke „vysvieti" do biela. Vypíname ho pre naše logo. */
.vs-header .header-logo img.ps-logo,
.header-logo a img.ps-logo,
.footer-logo img.ps-logo,
.ps-mm-head img.ps-logo { filter: none !important; }

/* Mobilné menu (offcanvas) */
.ps-burger { display: none; width: 48px; height: 44px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.04); color: #fff; cursor: pointer; align-items: center; justify-content: center; font-size: 1.2rem; }
.ps-mobile-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.6); backdrop-filter: blur(4px); opacity: 0; visibility: hidden; transition: .3s; z-index: 1000; }
.ps-mobile-backdrop.open { opacity: 1; visibility: visible; }
.ps-mobile-menu { position: fixed; top: 0; right: 0; bottom: 0; width: min(360px, 86vw); background: #0e0f14; border-left: 1px solid rgba(255,255,255,.08); z-index: 1001; transform: translateX(100%); transition: transform .35s ease; padding: 26px 24px; overflow-y: auto; }
.ps-mobile-menu.open { transform: translateX(0); }
.ps-mobile-menu .ps-mm-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.ps-mobile-menu .ps-mm-close { background: none; border: 1px solid rgba(255,255,255,.18); color: #fff; width: 42px; height: 42px; border-radius: 10px; font-size: 1.1rem; cursor: pointer; }
.ps-mobile-menu ul li { border-bottom: 1px solid rgba(255,255,255,.07); }
.ps-mobile-menu ul li a { display: block; padding: 15px 4px; color: #fff; font-family: var(--font-primary); font-weight: 500; font-size: 1.05rem; }
.ps-mobile-menu ul li a:hover { color: var(--color-primary); }
.ps-mm-contact { margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); }
.ps-mm-contact a { display: block; color: #fff; margin-bottom: 10px; }
.ps-mm-contact a i { color: var(--color-primary); margin-right: 8px; }

@media (max-width: 1199px) {
  .ps-burger { display: inline-flex; }
}

/* drobné: štítok nosnosti na fotke žeriava */
.ps-crane-tag { position: absolute; top: 14px; left: 14px; background: var(--color-primary); color: #04243a; font-family: var(--font-primary); font-weight: 700; font-size: .85rem; padding: 6px 14px; border-radius: 100px; }

/* tabuľka technických údajov žeriava */
.ps-spec-list { list-style: none; margin: 0 0 24px; padding: 0; }
.ps-spec-list li { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid rgba(20,40,70,.12); font-size: .96rem; }
.ps-spec-list li span { color: #5b6670; }
.ps-spec-list li b { font-family: var(--font-primary); font-weight: 600; color: var(--color-heading); text-align: right; }

/* Galéria realizácií — položka s popisom */
.ps-gallery-grid > [class*="col-"] { margin-bottom: 26px; }
.ps-glink { position: relative; display: block; overflow: hidden; cursor: pointer; aspect-ratio: 4 / 3; border-radius: 16px; background: #0e1318; box-shadow: 0 14px 44px rgba(20,40,70,.10); }
.ps-glink img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ps-glink:hover img { transform: scale(1.06); }
.ps-glink .architecture2 { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 20px 16px; background: linear-gradient(to top, rgba(4,9,15,.88), rgba(4,9,15,0)); color: #fff; font-family: var(--font-primary); font-weight: 600; line-height: 1.3; opacity: 1; transform: none; transition: opacity .35s ease, transform .35s ease; }
.ps-glink .architecture2 span { display: block; overflow-wrap: anywhere; }
/* na touch zariadeniach popis vidno vždy; na myši jemne vyplynie */
@media (hover: hover) {
  .ps-glink .architecture2 { opacity: 0; transform: translateY(12px); }
  .ps-glink:hover .architecture2 { opacity: 1; transform: none; }
}

/* Jednoduchý lightbox (náhrada za lightgallery) */
.ps-lightbox { position: fixed; inset: 0; z-index: 9998; display: grid; place-items: center; padding: 16px; background: rgba(0,0,0,.92); opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s ease; cursor: zoom-out; }
.ps-lightbox.open { opacity: 1; visibility: visible; }
.ps-lightbox img { max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); width: auto; height: auto; object-fit: contain; box-shadow: 0 24px 80px rgba(0,0,0,.6); }

/* === BRAND + FARBY Z LOGA + úpravy === */
:root{
  --color-primary: #2e6fb0;      /* modrá z loga */
  --color-primary-600: #245a90;
  --color-secondary: #22507f;       /* tmavšia oceľová modrá z loga */
  --color-secondary-alt: #9aa3aa;   /* oceľová sivá z loga */
}
/* Logo: mark + nápis v Sora (spoľahlivé, ostré) */
.ps-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;line-height:1}
.ps-mark{height:36px;width:auto;display:block;flex:none}
.ps-word{font-family:var(--font-primary);font-weight:700;font-size:1.34rem;letter-spacing:-.02em;color:#23272b;white-space:nowrap}
.ps-word b{color:var(--color-primary);font-weight:700}
.vs-header.is-sticky .ps-word{color:#fff}
.ps-mobile-menu .ps-word{color:#fff}
.footer-style1 .ps-word{color:#23272b}

/* Menu vždy čitateľné (tmavé na svetlej hlavičke, biele na tmavej sticky) */
.vs-header:not(.is-sticky) .menu-style1>ul>li>a{color:#23272b}
.vs-header:not(.is-sticky) .menu-style1>ul>li>a:hover{color:var(--color-primary)}
.vs-header:not(.is-sticky) .header-contact11{color:#23272b !important}

/* Hero banner nadpis – menší, čitateľný, zmestí sa */
.hero-style1 .video-banner .title2{font-size:clamp(1.8rem,4.4vw,3.2rem) !important;line-height:1.06;letter-spacing:-.01em;word-break:normal;overflow-wrap:anywhere}
@media (max-width:767px){ .hero-style1 .video-banner .title2{font-size:clamp(1.5rem,7vw,2.1rem) !important;} }

/* word-split helper pre GSAP */
.ps-w{display:inline-block}

/* === KRANOVÉ KARTY bez prekrytia (text NEPRETEKÁ cez obrázok) === */
.ps-crane-card{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #e6eaee;border-radius:20px;overflow:hidden;box-shadow:0 14px 44px rgba(20,40,70,.07)}
.ps-crane-media{position:relative;aspect-ratio:16/10;overflow:hidden}
.ps-crane-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.ps-crane-card:hover .ps-crane-media img{transform:scale(1.04)}
.ps-crane-body{padding:28px 30px 30px}
.ps-crane-body h3{font-family:var(--font-primary);font-weight:700;font-size:1.5rem;margin:0 0 12px;color:var(--color-heading)}
.ps-crane-body h3 a{color:inherit;transition:color .25s ease}
.ps-crane-body h3 a:hover{color:var(--color-primary)}
.ps-crane-body>p{margin:0;color:#4a555f}
@media (max-width:575px){ .ps-crane-body{padding:22px} }

/* === SLUŽBY ako kranové karty (obrázok hore, ikona + text dole, žiadne prekrytie) === */
.ps-crane-card.ps-crane-service{text-decoration:none;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.ps-crane-card.ps-crane-service:hover{transform:translateY(-6px);box-shadow:0 22px 60px rgba(20,40,70,.12);border-color:var(--color-primary)}
.ps-crane-service .ps-crane-media{aspect-ratio:4/3}
.ps-crane-service .ps-crane-body{padding:24px 26px 26px}
.ps-crane-service .ps-crane-body h3{font-size:1.22rem;margin-bottom:10px;transition:color .3s ease}
.ps-crane-service:hover .ps-crane-body h3{color:var(--color-primary)}
.ps-crane-service .ps-crane-body p{font-size:.95rem;color:#4a555f;margin:0}
.ps-crane-ico{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:14px;background:rgba(46,111,176,.1);color:var(--color-primary);font-size:1.25rem;margin-bottom:16px;transition:background .3s ease,color .3s ease}
.ps-crane-service:hover .ps-crane-ico{background:var(--color-primary);color:#fff}

/* istota: žiadny text nepreteká mimo karty/obrázka */
.ser-card,.ps-crane-card{max-width:100%}
.ser-card img,.about-img img,.ps-crane-media img{max-width:100%}
.about-content,.ps-crane-body{overflow-wrap:anywhere;word-break:normal;min-width:0}

/* === KONTAKT — čistý 2-stĺpcový layout, dlhé texty (e-mail, IBAN) sa zalomia === */
.contact-sec .contact-info .nmbr,
.contact-sec .contact-info .gmail,
.contact-sec .contact-info p,
.contact-sec .contact-info a { display: block; overflow-wrap: anywhere; word-break: break-word; }
.contact-sec .contact-content .call-center { margin-bottom: 26px; }
.contact-sec .contact-map iframe { display: block; }
/* na mobile sa stĺpce (formulár | info) pekne zalomia pod seba s odstupom */
@media (max-width: 991px){
  .contact-sec .contact-form { margin-bottom: 44px; }
}
@media (max-width: 575px){
  /* na úzkych telefónoch info bunky na plnú šírku, nech sa text netlačí */
  .contact-sec .contact-content .col-sm-6 { flex: 0 0 100%; max-width: 100%; }
}

/* === HERO ČISTÝ + HLAVIČKA JEDNOTNÁ === */
.ps-hero{position:relative;display:flex;align-items:center;min-height:86vh;padding:170px 0 96px;overflow:hidden}
.ps-hero-bg{position:absolute;inset:0;z-index:0}
.ps-hero-bg img{width:100%;height:100%;object-fit:cover;display:block}
.ps-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(8,13,20,.60) 0%,rgba(8,13,20,.30) 50%,rgba(8,13,20,.05) 100%)}
.ps-hero .container{position:relative;z-index:2}
.ps-hero-inner{max-width:780px}
.ps-hero-kicker{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-primary);font-weight:600;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:#7fb6e8;margin-bottom:20px}
.ps-hero-kicker i{font-size:.5rem}
.ps-hero-title{font-family:var(--font-primary);font-weight:800;color:#fff;font-size:clamp(2.2rem,5vw,4rem);line-height:1.06;letter-spacing:-.02em;margin:0 0 22px}
.ps-hero-title span{color:#5aa0e0}
.ps-hero-lead{color:rgba(255,255,255,.85);font-size:clamp(1.04rem,1.5vw,1.22rem);line-height:1.7;max-width:640px;margin:0 0 32px}
.ps-hero-cta{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.ps-hero .ibt-btn-outline{color:#fff;border-color:rgba(255,255,255,.45)}
.ps-hero .ibt-btn-outline:hover{background:#fff;color:#111}
.ps-hero-stats{display:flex;gap:44px;margin-top:48px;flex-wrap:wrap}
.ps-hs .n{font-family:var(--font-primary);font-weight:800;color:#fff;font-size:2.3rem;line-height:1}
.ps-hs .n span:last-child{color:#5aa0e0}
.ps-hs .l{color:rgba(255,255,255,.72);font-size:.9rem;max-width:170px;margin-top:6px}
@media(max-width:767px){.ps-hero{min-height:auto;padding:120px 0 70px}.ps-hero-cta{flex-direction:column;align-items:stretch}.ps-hero-cta .ibt-btn{justify-content:center}.ps-hero-stats{gap:26px}.ps-hs .n{font-size:1.9rem}}

/* hlavička: rovnaká a viditeľná na VŠETKÝCH stránkach (biela, tmavé menu/logo) */
/* menu vždy viditeľné — hlavička fixovaná, pri scrolle sa neschová */
.vs-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;transition:box-shadow .3s ease}
.vs-header{background:#fff !important;box-shadow:0 1px 0 rgba(20,40,70,.06)}
.vs-header.is-sticky{background:#fff !important;box-shadow:0 6px 22px rgba(20,40,70,.10)}
.vs-header .menu-style1>ul>li>a{color:#23272b}
.vs-header .menu-style1>ul>li>a:hover,.vs-header .menu-style1>ul>li>.active{color:var(--color-primary);background:transparent}
.vs-header .ps-word,.vs-header.is-sticky .ps-word{color:#23272b}
.vs-header .ps-word b{color:var(--color-primary)}
.vs-header .header-contact11{color:#23272b !important}
.vs-header .ps-burger{color:#23272b;border-color:rgba(0,0,0,.14);background:rgba(0,0,0,.03)}

/* === PRÉMIOVÝ PASS === */
/* hero šachovnica (2 žeriavy sa menia) za prekrytím */
.ps-hero-board{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:0}
.ps-hero-board .hb-tile{position:relative;overflow:hidden;background:#0b0e12}
.ps-hero-board .hb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.ps-hero-board .hb-img.show{opacity:1}
@media(max-width:767px){.ps-hero-board{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}}
.ps-hs .l{max-width:150px;line-height:1.3}

/* PRÉMIOVÁ TMAVÁ PÄTIČKA (Web/Kontakt teraz vidno) */
.footer-style1{background:#0b1016}
.footer-style1 .footer-top{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:6px}
.footer-style1 .footer-content .title{color:#fff}
.footer-style1 .widget-title{color:#fff}
.footer-style1 .about-widget p,.footer-style1 .footer-links ul li a,.footer-style1 .footer-links ul li{color:rgba(255,255,255,.72)}
.footer-style1 .footer-links ul li a:hover{color:var(--color-primary);padding-left:3px}
.footer-style1 .footer-links ul li a i{opacity:.9}
.footer-style1 .ps-word{color:#fff}
.footer-style1 .ps-word b{color:var(--color-primary)}
.footer-style1 .social-icon li a{color:#fff;border:1px solid rgba(255,255,255,.22)}
.footer-style1 .social-icon li a:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.footer-style1 .footer-botom{border-top:1px solid rgba(255,255,255,.08)}
.footer-style1 .footer-botom p,.footer-style1 .footer-botom span,.footer-style1 .footer-botom a{color:rgba(255,255,255,.58)}
.footer-style1 .footer-botom a:hover{color:var(--color-primary)}

/* PRÉMIOVÁ TMAVÁ FUN-FACT SEKCIA */
.fun-fact-sec{background:#0b1016;border-radius:0}
.fun-fact-sec .sub-title{color:#7fb6e8}
.fun-fact-sec .title,.fun-fact-content .title,.fun-fact-content p{color:#fff}
.fun-fact-content{border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:36px 30px;background:rgba(255,255,255,.025);height:100%}
.fun-fact-content .counter-box{color:#fff}
.fun-fact-content .counter-box span,.fun-fact-content .counter-text{color:#fff}
.fun-fact-content .counter-text{color:var(--color-primary)}

/* prémiové tiene/rádiusy kariet */
.ps-crane-card{box-shadow:0 22px 60px rgba(15,30,55,.10)}
.ps-crane-card:hover{box-shadow:0 30px 70px rgba(15,30,55,.16)}

/* === FLIP + KALKULAČKA + HERO 80vh === */
.ps-hero{min-height:80vh}
/* hero posunutý nižšie od horného okraja (200px − 100px = 100px) */
.ps-hero{margin-top:100px}
/* 3D flip dlaždíc okolo osi Y */
.ps-hero-board .hb-tile{perspective:1100px;background:#0b0e12}
.ps-hero-board .hb-flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .56s ease;box-shadow:0 0 0 rgba(0,0,0,0)}
.ps-hero-board .hb-flip.flipped{transform:rotateX(180deg)}
.ps-hero-board .hb-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.ps-hero-board .hb-face img{width:100%;height:100%;object-fit:cover;display:block}
.ps-hero-board .hb-back{transform:rotateX(180deg)}

/* === HERO ŠACHOVNICA — prémiové obrázky === */
/* tenká oceľová mriežka medzi dlaždicami */
.ps-hero-board{gap:3px;background:#0a0d11}
.ps-hero-board .hb-tile{box-shadow:inset 0 0 0 1px rgba(122,182,232,.08)}
/* filmový look: jemné odšednutie, kontrast, mierne stmavenie + pomalý Ken-Burns zoom */
.ps-hero-board .hb-face img{filter:grayscale(0) contrast(1.03) saturate(1) brightness(1.18);transform:scale(1.05);animation:psTileZoom 20s ease-in-out infinite alternate;will-change:transform,opacity;transition:opacity .65s ease}
@keyframes psTileZoom{from{transform:scale(1.04)}to{transform:scale(1.13)}}
/* rozplynutie do pozadia — namiesto 3D preklopenia používame opacity dissolve */
.ps-hero-board .hb-back{display:none}
/* brandový modro-oceľový duotone — zjednotí rôznorodé fotky do jedného prémiového tónu */
.ps-hero-board .hb-face::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(155deg,rgba(46,111,176,.06) 0%,rgba(11,16,22,.12) 100%);mix-blend-mode:multiply}
/* jemná vinetácia pre hĺbku */
.ps-hero-board .hb-face::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 80px rgba(4,9,15,.14)}
@media(prefers-reduced-motion:reduce){.ps-hero-board .hb-face img{animation:none}}

/* Kalkulačka žeriava (unikát) */
.ps-calc{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:stretch;background:#fff;border:1px solid #e6eaee;border-radius:24px;padding:40px;box-shadow:0 26px 70px rgba(15,30,55,.10);max-width:1040px;margin:0 auto}
.ps-calc-controls{display:flex;flex-direction:column;justify-content:center;gap:36px}
.ps-calc-field label{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-primary);font-weight:600;color:var(--color-heading);margin-bottom:14px;font-size:1.02rem}
.ps-calc-field label b{color:var(--color-primary);font-size:1.35rem;font-weight:800}
.ps-calc-field input[type=range]{width:100%;accent-color:var(--color-primary);height:6px;cursor:pointer}
.ps-calc-scale{display:flex;justify-content:space-between;font-size:.76rem;color:#8a93a0;margin-top:8px}
.ps-calc-result{border-radius:18px;padding:30px 28px;text-align:center;background:#0b1016;color:#fff;display:flex;flex-direction:column;align-items:center;transition:background .45s ease}
.ps-calc-result.ok{background:linear-gradient(160deg,#0f3a2b,#0b1016)}
.ps-calc-result.warn{background:linear-gradient(160deg,#0e2c4d,#0b1016)}
.ps-calc-result.over{background:linear-gradient(160deg,#3c2410,#0b1016)}
.ps-calc-badge{font-family:var(--font-primary);font-weight:700;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.12);padding:6px 14px;border-radius:100px;margin-bottom:14px}
.ps-calc-img{width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;margin-bottom:14px}
.ps-calc-img img{width:100%;height:100%;object-fit:cover;display:block}
.ps-calc-result h3{color:#fff;font-size:1.4rem;margin:0 0 8px}
.ps-calc-result p{color:rgba(255,255,255,.8);font-size:.95rem;line-height:1.55;margin:0 0 18px}
@media(max-width:900px){.ps-calc{grid-template-columns:1fr;padding:26px;gap:28px}}

/* === BEŽIACI TEXT (marquee) — prémiový === */
/* bežiaci pás späť na spodok hero obrázkov, priesvitný (sklenený) */
.marquee-sec{margin-top:-15px;position:relative;z-index:5;padding-top:0}
.marquee{position:relative;overflow:hidden;padding:24px 0;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 30px rgba(4,9,15,.18)}
/* jemné rozplynutie textu na okrajoch — neutrálne, nech sklo ostane priesvitné */
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:140px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,0))}
.marquee::after{right:0;background:linear-gradient(270deg,rgba(255,255,255,.16),rgba(255,255,255,0))}
.marquee-inner{display:inline-flex;flex-wrap:nowrap;white-space:nowrap;will-change:transform;animation:psMarquee 30s linear infinite}
.marquee:hover .marquee-inner{animation-play-state:paused}
.marquee-inner span{display:inline-flex;align-items:center;font-family:var(--font-primary);font-weight:800;font-size:clamp(1.25rem,2.3vw,2rem);letter-spacing:.015em;text-transform:uppercase;line-height:1;padding-right:0;background:linear-gradient(180deg,#ffffff 0%,#9cc3e0 120%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
@keyframes psMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:767px){.marquee{padding:18px 0}.marquee::before,.marquee::after{width:70px}}

/* === HERO TITLE — písmom témy (Sora, štýl nadpisov sekcií) === */
.ps-hero-inner{max-width:880px}
.ps-hero-kicker{font-family:var(--font-primary)}
.ps-hero-title{font-family:var(--font-primary);font-weight:500;font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.08;letter-spacing:-.045em}
.ps-hero-title span{font-weight:600}
.ps-hero-lead{font-family:var(--font-secondary)}
@media(max-width:600px){.ps-hero-title{font-size:clamp(1.6rem,7vw,2.15rem)}}

/* =================== NETRADIČNÝ PREPÍNAČ TÉM (vertikálna kapsula) =================== */
.ps-theme-toggle{position:fixed;top:50%;right:16px;transform:translateY(-50%);z-index:1200;border:0;background:transparent;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ps-tt-track{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:44px;height:88px;border-radius:100px;padding:8px 0;background:linear-gradient(180deg,#dfeaf5,#bcd2e8);border:1px solid rgba(20,40,70,.15);box-shadow:0 10px 26px rgba(20,40,70,.22),inset 0 1px 0 rgba(255,255,255,.6);transition:background .4s ease,border-color .4s ease}
.ps-tt-ico{font-size:15px;line-height:1;z-index:2;transition:opacity .35s ease}
.ps-tt-sun{color:#e9a020}
.ps-tt-moon{color:#2e4a6b;opacity:.4}
.ps-tt-knob{position:absolute;left:50%;top:8px;transform:translateX(-50%);width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#fbd27a 60%,#f2a93c);box-shadow:0 4px 12px rgba(0,0,0,.28);transition:top .45s cubic-bezier(.5,1.7,.4,1),background .45s ease}
.ps-theme-toggle:hover .ps-tt-track{border-color:var(--color-primary)}
body.is-dark .ps-tt-track{background:linear-gradient(180deg,#1b2733,#0e1620);border-color:rgba(255,255,255,.12);box-shadow:0 10px 26px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06)}
body.is-dark .ps-tt-knob{top:50px;background:radial-gradient(circle at 35% 30%,#eef3f8,#aeb8c2 60%,#7f8b97)}
body.is-dark .ps-tt-sun{opacity:.35}
body.is-dark .ps-tt-moon{opacity:1;color:#bcd6f5}
@media(max-width:767px){.ps-theme-toggle{right:10px}.ps-tt-track{width:38px;height:74px}.ps-tt-knob{width:26px;height:26px}body.is-dark .ps-tt-knob{top:42px}}

/* =================== TMAVÁ TÉMA =================== */
body.is-dark{
  --color-heading:#eef3f8;
  --color-body:#aeb8c2;
  --color-content-black2:#eef3f8;
  --color-content-white:#0b0f14;
  --color-surface-1:#11161d;
  --border-soft:rgba(255,255,255,.10);
  background:#0b0f14;color:#aeb8c2;
}
body.is-dark .vs-header{background:#0c1117 !important;box-shadow:0 1px 0 rgba(255,255,255,.06)}
body.is-dark .vs-header.is-sticky{background:#0c1117 !important;box-shadow:0 6px 22px rgba(0,0,0,.5)}
body.is-dark .vs-header .menu-style1>ul>li>a{color:#eef3f8}
body.is-dark .vs-header .menu-style1>ul>li>a:hover,body.is-dark .vs-header .menu-style1>ul>li>.active{color:var(--color-primary)}
body.is-dark .vs-header .header-contact11{color:#eef3f8 !important}
body.is-dark .vs-header .ps-burger{color:#eef3f8;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.05)}
/* logo: v light len farebné, v dark len biele (inak sa zobrazovali obe) */
.header-logo img.ps-logo-dark{display:none}
body.is-dark .header-logo img.ps-logo-light{display:none !important}
body.is-dark .header-logo img.ps-logo-dark{display:block !important}
/* sub-title má v téme natvrdo tmavý text-fill — v dark ho rozsvietime */
body.is-dark .sub-title{-webkit-text-fill-color:#7fb6e8 !important;color:#7fb6e8 !important}
/* karty a obsah */
body.is-dark .ps-crane-card{background:#11161d;border-color:rgba(255,255,255,.08)}
body.is-dark .ps-crane-body>p,body.is-dark .ps-crane-service .ps-crane-body p,body.is-dark .about-content,body.is-dark .about-content p{color:#aeb8c2}
body.is-dark .ps-spec-list li{border-bottom-color:rgba(255,255,255,.10)}
body.is-dark .ps-spec-list li span{color:#8a97a4}
/* kalkulačka */
body.is-dark .ps-calc{background:#11161d;border-color:rgba(255,255,255,.08)}
body.is-dark .ps-calc-field label{color:#eef3f8}
body.is-dark .ps-calc-scale{color:#7f8b97}
/* galéria / kontakt */
body.is-dark .ps-glink{background:#11161d}
body.is-dark .contact-sec .contact-info p,body.is-dark .contact-sec .contact-info a{color:#aeb8c2}

/* kruhové „odhalenie" novej témy — vypneme defaultný fade View Transitions */
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}

/* hlavička v TMAVEJ téme — menu, telefón, „Nezáväzný dopyt" a burger musia byť vidieť */
body.is-dark .vs-header .menu-style1>ul>li>a,
body.is-dark .vs-header:not(.is-sticky) .menu-style1>ul>li>a{color:#eef3f8 !important}
body.is-dark .vs-header .menu-style1>ul>li>a:hover,
body.is-dark .vs-header:not(.is-sticky) .menu-style1>ul>li>a:hover,
body.is-dark .vs-header .menu-style1>ul>li>.active{color:var(--color-primary) !important}
body.is-dark .vs-header .header-contact11,
body.is-dark .vs-header:not(.is-sticky) .header-contact11{color:#eef3f8 !important}
body.is-dark .vs-header .ibt-btn-outline-3{color:#eef3f8 !important;border-color:rgba(255,255,255,.45) !important}
body.is-dark .vs-header .ibt-btn-outline-3:hover{background:#fff !important;color:#0b0f14 !important}
body.is-dark .vs-header .ps-burger{color:#eef3f8 !important;border-color:rgba(255,255,255,.22) !important;background:rgba(255,255,255,.05) !important}

/* TMAVÁ hlavička — nepriestrelné (max špecificita), vrátane menu spanov */
html body.is-dark header.vs-header{background:#0c1117 !important}
html body.is-dark header.vs-header .menu-style1 .menu-item,
html body.is-dark header.vs-header .menu-style1 .menu-item2,
html body.is-dark header.vs-header .menu-style1>ul>li>a{color:#eef3f8 !important}
html body.is-dark header.vs-header .header-contact11,
html body.is-dark header.vs-header .header-contact11 *{color:#eef3f8 !important}
html body.is-dark header.vs-header .ibt-btn-outline-3{color:#eef3f8 !important;border-color:#5aa0e0 !important}

/* pozadie aj na .header-menu-area (tam je reálne vidno pruh) */
html body.is-dark header.vs-header,
html body.is-dark header.vs-header .header-menu-area{background:#0c1117 !important;background-color:#0c1117 !important}

/* prémiové rozplynutie hero fotiek — blur + plynulý fade */
.ps-hero-board .hb-face img{transition:opacity .9s ease, filter .9s ease}
.ps-hero-board .hb-face img.ps-diss{opacity:0 !important;filter:grayscale(0) contrast(1.03) saturate(1) brightness(1.05) blur(14px) !important}

/* O mne: tlačidlo/obsah nesmie pretekať cez obrázok */
.about-us-sec .about-img{overflow:hidden;border-radius:16px}
.about-us-sec .about-img img{width:100%;height:auto;display:block}
@media(min-width:992px){.about-us-sec .about-content{padding-left:36px}}

/* Logo ako inline SVG (nikdy sa „nerozbije", farby light/dark cez CSS) */
.ps-logo-inline{height:40px;width:auto;display:block}
.ps-logo-inline .lg-pro{fill:#2e6fb0}
.ps-logo-inline .lg-rest{fill:#2b2f33}
body.is-dark .ps-logo-inline .lg-pro{fill:#5aa0e0}
body.is-dark .ps-logo-inline .lg-rest{fill:#ffffff}

/* O mne: obrázok je v téme position:absolute => text cezeň pretekal. Vrátime ho do toku. */
.about-us-sec .about-img{position:static !important;margin-left:0 !important;margin-bottom:24px}
.about-us-sec .about-img img{width:100%;height:auto;display:block;border-radius:16px}

/* stohované logo (trapézy nad nápisom) — vyššie */
.ps-logo-inline{height:112px}

/* otočenie na hranu (90°) — výmena fotky je v tomto bode neviditeľná => bez blikania */
.ps-hero-board .hb-flip.flip-out{transform:rotateX(90deg)}

/* Banner podstránok: reálna fotka žeriava + tmavý prekryv pre čitateľný biely nadpis */
.page-banner2{background-image:linear-gradient(rgba(8,13,20,.5),rgba(8,13,20,.6)),var(--banner-img,url(/assets/images/bg/page-banner-crane.jpg)) !important;background-size:cover !important;background-position:center 40% !important}
.page-banner2 .title,.page-banner2 .breadcrumbs,.page-banner2 .breadcrumbs a,.page-banner2 .breadcrumbs li{color:#fff !important;position:relative;z-index:2}

/* zaoblené rohy všetkých hero dlaždíc/obrázkov */
.ps-hero-board{gap:10px}
.ps-hero-board .hb-tile{border-radius:16px;overflow:hidden}
.ps-hero-board .hb-face,.ps-hero-board .hb-face img{border-radius:16px}

/* ČITATEĽNOSŤ: about-us-sec je tmavá sekcia => text musí byť svetlý (obe témy) */
.about-us-sec .sec-title .title,.about-us-sec .about-content .title{color:#fff !important}
.about-us-sec .sec-title .sub-title{-webkit-text-fill-color:#7fb6e8 !important;color:#7fb6e8 !important}
.about-us-sec .sec-title p,.about-us-sec .about-content p,.about-us-sec .sec-title .paragraph{color:rgba(255,255,255,.82) !important}
.about-us-sec .ps-spec-list li{border-bottom-color:rgba(255,255,255,.14) !important}
.about-us-sec .ps-spec-list li span{color:rgba(255,255,255,.6) !important}
.about-us-sec .ps-spec-list li b{color:#fff !important}
.about-us-sec .ser-detail-list li{color:rgba(255,255,255,.85)}
.about-us-sec .ibt-btn-outline{color:#fff;border-color:rgba(255,255,255,.45)}
.about-us-sec .ibt-btn-outline:hover{background:#fff;color:#0b0f14}

/* ==========================================================================
   RESPONZÍVNE DOLADENIA — TABLET (<=991px) a MOBIL (<=575px)
   (pridané na koniec; menia LEN tento súbor)
   ========================================================================== */

/* --- 0) ŽIADNY VODOROVNÝ SCROLL — globálna poistka ---
   .container nemá v téme bočný padding => na úzkych zariadeniach pridáme,
   a zabránime, aby čokoľvek pretieklo cez šírku okna. */
@media (max-width: 991px){
  html, body{ overflow-x: hidden; max-width: 100%; }
  .container{ padding-left: 20px; padding-right: 20px; }
  /* obrázky a iframe nikdy širšie ako rodič */
  img, iframe, svg, video{ max-width: 100%; }
}
@media (max-width: 575px){
  .container{ padding-left: 16px; padding-right: 16px; }
  .container2{ padding-left: 16px; padding-right: 16px; }
}

/* --- 1) HLAVIČKA / FIXED HEADER ---
   Na tablete (burger sa zobrazuje od <=1199px) sprehľadníme pravý blok,
   aby sa tlačidlá nezalamovali mimo obrazovku. */
@media (max-width: 991px){
  .vs-header .header-menu-area{ padding-left: 14px; padding-right: 14px; }
  .vs-header .btn-box{ gap: 10px !important; }
}
@media (max-width: 575px){
  /* na telefóne necháme len logo + burger; CTA „Nezáväzný dopyt" a telefón
     sú aj tak v mobilnom menu (.ps-mm-contact) */
  .vs-header .header-menu-area{ padding-left: 4px; padding-right: 4px; }
  .header-logo .ps-logo-inline{ height: 78px; }   /* stohované logo menšie */
  .ps-burger{ width: 44px; height: 42px; }
}

/* --- 2) PREPÍNAČ TÉM — nech na mobile neprekáža obsahu ---
   je position:fixed v strede pravej hrany; zmenšíme a posunieme tesne k okraju. */
@media (max-width: 575px){
  .ps-theme-toggle{ right: 6px; }
  .ps-tt-track{ width: 32px; height: 62px; padding: 6px 0; }
  .ps-tt-knob{ width: 22px; height: 22px; }
  body.is-dark .ps-tt-knob{ top: 34px; }
  .ps-tt-ico{ font-size: 12px; }
}

/* --- 3) HERO ---
   ps-hero má margin-top:100px + veľký padding; na mobile skrátime,
   stats a CTA spravíme čisté, šachovnica ostáva 3x3 (pozadie). */
@media (max-width: 991px){
  .ps-hero{ margin-top: 78px; min-height: auto; padding: 96px 0 64px; }
  .ps-hero-stats{ gap: 28px 36px; margin-top: 36px; }
}
@media (max-width: 575px){
  .ps-hero{ margin-top: 64px; padding: 80px 0 52px; }
  .ps-hero-inner{ max-width: 100%; }
  .ps-hero-title{ font-size: clamp(1.5rem, 8vw, 2rem); }
  .ps-hero-lead{ font-size: 1rem; line-height: 1.6; }
  .ps-hero-cta{ flex-direction: column; align-items: stretch; }
  .ps-hero-cta .ibt-btn{ width: 100%; justify-content: center; }
  /* stats: 2 stĺpce, nech sa nesťahujú do úzkeho riadku */
  .ps-hero-stats{ gap: 22px 24px; }
  .ps-hs{ flex: 1 1 calc(50% - 24px); min-width: 0; }
  .ps-hs .n{ font-size: 1.7rem; }
  .ps-hs .l{ max-width: none; font-size: .82rem; }
  /* menšie medzery v hero šachovnici, nech sa nelámu rohy */
  .ps-hero-board{ gap: 6px; }
  .ps-hero-board .hb-tile,
  .ps-hero-board .hb-face,
  .ps-hero-board .hb-face img{ border-radius: 10px; }
}

/* --- 4) MARQUEE (bežiaci pás) ---
   ťahá sa margin-top:-65px nad hero; na mobile zmenšíme posun aj písmo. */
@media (max-width: 991px){
  .marquee-sec{ margin-top: -40px; }
  .marquee-inner span{ font-size: clamp(1.05rem, 3.4vw, 1.5rem); }
}
@media (max-width: 575px){
  .marquee-sec{ margin-top: -26px; }
  .marquee{ padding: 14px 0; }
  .marquee::before, .marquee::after{ width: 48px; }
}

/* --- 5) SEKČNÉ MEDZERY + NADPISY — primeranejšie na malých displejoch --- */
@media (max-width: 575px){
  .ibt-section-gapTop{ padding-top: 56px; }
  .ibt-section-gap{ padding-top: 56px; padding-bottom: 56px; }
  .sec-title .title{ font-size: 30px; line-height: 36px; }
  /* vodoznak „Žeriavy" nech nikdy nepretečie */
  .about-us-sec .style-text{ font-size: 46px; line-height: 48px; margin-bottom: 18px; word-break: break-word; }
}
@media (max-width: 991px){
  /* na tablete je nadpis + tlačidlo v title-area pod sebou — pridáme odstup */
  .title-area .sec-btn-box{ margin-top: 22px; }
  .title-area .sec-btn-box{ justify-content: flex-start; }
}

/* --- 6) KARTY (žeriavy, služby) — istota zalomenia a žiadne pretekanie --- */
@media (max-width: 575px){
  .ps-crane-card{ border-radius: 16px; }
  .ps-crane-body{ padding: 20px 18px 22px; }
  .ps-crane-body h3{ font-size: 1.3rem; }
  .ps-crane-service .ps-crane-body{ padding: 20px 18px 22px; }
  /* spec-list: dlhé hodnoty sa zalomia, nezbiehajú sa cez seba */
  .ps-spec-list li{ font-size: .9rem; gap: 10px; }
  .ps-spec-list li b{ word-break: break-word; }
}

/* --- 7) SLUŽBY: veľké striedavé bloky (about-us-sec) ---
   na tablete/mobile obrázok hore, text pod ním, primeraný odstup medzi blokmi.
   Bootstrap col-lg-6 sa pod 992px aj tak stohuje; doladíme medzery. */
@media (max-width: 991px){
  .about-us-sec .row.align-items-center{ margin-bottom: 40px !important; }
  .about-us-sec .about-img{ margin-bottom: 24px; }
  /* poradie order-lg-* sa pod 992px ruší (Bootstrap), takže obrázok je vždy hore */
}

/* --- 8) GALÉRIA REALIZÁCIÍ ---
   col-sm-12 => na telefóne 1 stĺpec; na tablete (md-6) 2 stĺpce. Doladíme odstupy. */
@media (max-width: 991px){
  .ps-gallery-grid > [class*="col-"]{ margin-bottom: 22px; }
}
@media (max-width: 575px){
  .ps-glink{ aspect-ratio: 16 / 11; border-radius: 14px; }
  .ps-glink .architecture2{ font-size: .95rem; padding: 18px 16px 14px; }
}

/* --- 9) KALKULAČKA ŽERIAVA ---
   téma už pod 900px stohuje na 1 stĺpec; doladíme padding a prvky na mobile. */
@media (max-width: 575px){
  .ps-calc{ padding: 20px; gap: 22px; border-radius: 18px; }
  .ps-calc-controls{ gap: 26px; }
  .ps-calc-field label{ font-size: .95rem; }
  .ps-calc-field label b{ font-size: 1.2rem; }
  .ps-calc-result{ padding: 22px 18px; }
  .ps-calc-result h3{ font-size: 1.2rem; }
  .ps-calc-result .ibt-btn{ width: 100%; justify-content: center; }
}

/* --- 10) KONTAKT — formulár, info bunky, mapa --- */
@media (max-width: 575px){
  .custom-form input,
  .custom-form select,
  .custom-form textarea{ font-size: 16px; }   /* 16px => iOS nezoomuje pri fokuse */
  .contact-form .ibt-btn{ width: 100%; justify-content: center; }
  .contact-sec .contact-map iframe{ height: 320px; }
  /* dlhé reťazce (e-mail, IBAN) sa vždy zalomia v rámci bunky */
  .contact-sec .contact-info a,
  .contact-sec .contact-info p{ overflow-wrap: anywhere; }
}

/* --- 11) PÄTA --- */
@media (max-width: 991px){
  .footer-style1 .widget-area .row > [class*="col-"]{ margin-bottom: 34px; }
  .footer-content{ display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
}
@media (max-width: 575px){
  .footer-content .title{ font-size: 26px; line-height: 32px; }
  .footer-box{ text-align: left; }
  .footer-box p{ margin-bottom: 10px; }
  .footer-box span{ display: block; }
}

/* --- 12) BANNER PODSTRÁNOK ---
   page-banner2 má veľký padding aj bočný margin; na mobile zmenšíme, aby
   nadpis nebol pritlačený k fixnej hlavičke a aby pás nepresahoval. */
@media (max-width: 991px){
  .page-banner2{ padding: 96px 0 96px; margin: 0 12px; border-radius: 20px; }
}
@media (max-width: 575px){
  .page-banner2{ padding: 84px 0 70px; margin: 0; border-radius: 0; }
  .page-banner2 .breadcrumbs{ padding: 16px 22px 12px; border-radius: 0 16px 0 0; }
}

/* --- 13) GENERICKÉ CTA RIADKY S TLAČIDLAMI ---
   viaceré sekcie majú inline flex tlačidlá vedľa seba; na telefóne pod seba. */
@media (max-width: 575px){
  .sec-btn-box{ display: flex; flex-wrap: wrap; gap: 12px; }
  .sec-btn-box .ibt-btn{ margin-left: 0 !important; }
}

/* RESPONZÍVA — oprava pretekania formulára a bannera na mobile */
@media (max-width: 991px){
  .contact-form, .custom-form, .contact-sec .row > [class*="col-"]{max-width:100%}
  .custom-form input, .custom-form textarea, .custom-form select,
  .form-group input, .form-group textarea, .form-group select,
  .contact-form input, .contact-form textarea{
    width:100% !important; max-width:100% !important; box-sizing:border-box !important;
  }
  .page-banner2 .title{font-size:clamp(1.9rem,8vw,3rem); word-break:normal}
  .page-banner2{padding:120px 0 48px; margin-left:0; margin-right:0}
  .contact-sec .contact-map iframe{width:100%; max-width:100%}
}

/* RESPONZÍVA — globálna oprava gridu (row bez záporných marginov + col padding = pretekanie) */
@media (max-width: 991px){
  html, body{overflow-x:hidden; max-width:100%}
  .container, .container2{padding-left:14px !important; padding-right:14px !important; max-width:100% !important; margin-left:auto !important; margin-right:auto !important}
  .row{margin-left:0 !important; margin-right:0 !important}
  .row > [class*="col-"]{padding-left:12px !important; padding-right:12px !important; max-width:100%}
}

/* RESPONZÍVA — stĺpce na mobile na plnú šírku (istota proti pretekaniu formulára) */
@media (max-width: 991px){
  .row > [class*="col-"]{flex:0 0 100% !important; width:100% !important; max-width:100% !important}
  .custom-form input, .custom-form textarea, .custom-form select,
  .form-group input, .form-group textarea{width:100% !important; box-sizing:border-box !important; min-width:0 !important}
}

/* RESPONZÍVA — tvrdá poistka proti pretekaniu formulára na mobile */
@media (max-width: 991px){
  .contact-sec .custom-form, .contact-sec .contact-form, .contact-sec .form-group{max-width:100% !important; overflow:hidden}
  .contact-sec .row{flex-wrap:wrap}
}

/* RESPONZÍVA — inputy viazané na viewport (zaručene sa zmestia na mobile) */
@media (max-width: 991px){
  .contact-sec .custom-form input, .contact-sec .custom-form textarea,
  .contact-sec .form-group input, .contact-sec .form-group textarea{
    width: calc(100vw - 56px) !important; max-width: calc(100vw - 56px) !important; box-sizing: border-box !important;
  }
}

/* RESPONZÍVA — kontakt: čistý jednostĺpec bez ľavého offsetu na mobile */
@media (max-width: 991px){
  .contact-sec .container{padding:0 16px !important; max-width:100% !important}
  .contact-sec .row{display:block !important; margin:0 !important}
  .contact-sec .row > [class*="col-"]{display:block !important; width:100% !important; max-width:100% !important; flex:none !important; padding:0 !important; margin:0 0 28px !important}
  .contact-sec .contact-form, .contact-sec .custom-form, .contact-sec .form-group{padding-left:0 !important; margin-left:0 !important; width:100% !important; max-width:100% !important}
  .contact-sec .custom-form input, .contact-sec .custom-form textarea{width:100% !important; max-width:100% !important; box-sizing:border-box !important}
}

/* === FEATURES: sticky mobilná lišta + prísľub reakcie + hodnotový anchor === */
.ps-callbar{display:none}
@media (max-width: 767px){
  .ps-callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1100;gap:8px;padding:8px 10px;background:rgba(12,17,23,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.12)}
  .ps-callbar-btn{flex:1;text-align:center;padding:13px 10px;border-radius:12px;font-family:var(--font-primary);font-weight:700;font-size:.98rem;text-decoration:none}
  .ps-callbar-call{background:#fff;color:#0b0f14}
  .ps-callbar-call i{color:var(--color-primary);margin-right:6px}
  .ps-callbar-cta{background:var(--color-primary);color:#fff}
  body{padding-bottom:66px}
}
.ps-resp-promise{display:flex;align-items:flex-start;gap:9px;background:rgba(46,111,176,.1);border:1px solid rgba(46,111,176,.25);color:var(--color-primary);font-weight:600;padding:12px 18px;border-radius:14px;margin:0 0 26px;font-size:.95rem;line-height:1.5}
.ps-resp-promise i{flex:0 0 auto;margin-top:4px}
.ps-resp-promise span{flex:1 1 auto}
.ps-resp-promise b{white-space:nowrap}
body.is-dark .ps-resp-promise{background:rgba(122,182,232,.12);border-color:rgba(122,182,232,.3);color:#9cc3e0}
.ps-calc-anchor{font-size:.84rem;color:rgba(255,255,255,.72);line-height:1.5;margin:14px 0 0}

/* RESPONZÍVA — hlavička na mobile: logo + burger na JEDNOM riadku, burger doprava */
@media (max-width: 991px){
  .vs-header .header-menu-area > .row{flex-wrap:nowrap !important; align-items:center !important; justify-content:space-between !important}
  .vs-header .header-menu-area > .row > [class*="col-"]{flex:0 0 auto !important; width:auto !important; max-width:none !important; margin-bottom:0 !important}
  .vs-header .btn-box{margin-left:auto !important; justify-content:flex-end !important; gap:10px !important}
  .header-logo .ps-logo-inline{height:58px}
}

/* RESPONZÍVA — hlavička mobile: čistý flex bez gutterov (burger pri pravom okraji) */
@media (max-width: 991px){
  .vs-header .header-menu-area > .row{display:flex !important; flex-wrap:nowrap !important; align-items:center !important; justify-content:space-between !important; margin:0 !important; width:100% !important}
  .vs-header .header-menu-area > .row > [class*="col-"]{flex:0 0 auto !important; width:auto !important; max-width:none !important; padding:0 !important; margin:0 !important}
  .vs-header .btn-box{margin:0 !important}
}

/* RESPONZÍVA — burger nepriestrelne ukotvený vpravo v hlavičke (mobile) */
@media (max-width: 991px){
  .vs-header .header-menu-area{position:relative}
  .vs-header .header-menu-area .btn-box{position:absolute !important; right:16px; top:50%; transform:translateY(-50%); margin:0 !important; z-index:6}
  .vs-header .ps-burger{display:inline-flex !important}
}

/* RESPONZÍVA — FINÁLNE: hlavička mobile logo vľavo + burger vpravo na jednom riadku */
@media (max-width: 991px){
  .vs-header .header-menu-area .main-menu,
  .vs-header .header-menu-area nav.menu-style1,
  .vs-header .header-menu-area > .row > .col-auto.d-none.d-xl-block{display:none !important}
  .vs-header .header-menu-area > .row{display:flex !important; flex-wrap:nowrap !important; align-items:center !important; justify-content:space-between !important; margin:0 !important; width:100% !important}
  .vs-header .header-menu-area > .row > [class*="col-"]{position:static !important; flex:0 0 auto !important; width:auto !important; max-width:none !important; padding:0 !important; margin:0 !important}
  .vs-header .header-menu-area .btn-box{position:static !important; transform:none !important; margin:0 !important; display:flex !important; align-items:center}
  .vs-header .ps-burger{display:inline-flex !important; color:#23272b !important; border:1px solid rgba(0,0,0,.16) !important; background:rgba(0,0,0,.04) !important}
  body.is-dark .vs-header .ps-burger{color:#eef3f8 !important; border-color:rgba(255,255,255,.22) !important; background:rgba(255,255,255,.06) !important}
}

/* DIAG */
@media (max-width: 991px){ .vs-header .ps-burger{background:red !important;width:54px !important;height:48px !important;display:inline-flex !important;opacity:1 !important;visibility:visible !important} }

/* RESPONZÍVA — FINÁLNE: burger fixovaný vpravo hore (mimo problematického gridu) */
@media (max-width: 991px){
  .vs-header .header-menu-area .main-menu,
  .vs-header .header-menu-area nav.menu-style1{display:none !important}
  .vs-header .header-menu-area .btn-box{position:fixed !important; right:16px; top:20px; left:auto; margin:0 !important; z-index:1300; display:flex; gap:10px}
  .vs-header .ps-burger{display:inline-flex !important; background:rgba(0,0,0,.05) !important; border:1px solid rgba(0,0,0,.16) !important; color:#23272b !important; width:46px !important; height:44px !important; opacity:1 !important; visibility:visible !important}
  body.is-dark .vs-header .ps-burger{background:rgba(255,255,255,.08) !important; border-color:rgba(255,255,255,.22) !important; color:#eef3f8 !important}
}

/* RESPONZÍVA — burger priamo fixovaný (najvyššia istota) */
@media (max-width: 991px){
  .vs-header .header-menu-area .btn-box .ps-burger{
    position:fixed !important; right:16px !important; top:20px !important; left:auto !important;
    z-index:2000 !important; display:inline-flex !important; width:46px !important; height:44px !important;
  }
}

/* DIAG2 */
@media (max-width: 991px){ .vs-header .ps-burger{background:red !important} .vs-header .ps-burger i{color:#fff !important} }

/* DIAG3 — cez nth-child */
@media (max-width: 991px){
  .vs-header .header-menu-area > .row > div:nth-child(2){display:none !important}
  .vs-header .header-menu-area > .row > div:nth-child(3){display:flex !important; align-items:center; position:static !important; flex:0 0 auto !important; width:auto !important}
  .vs-header .header-menu-area > .row > div:nth-child(3) .btn-box{display:flex !important; position:static !important}
  .vs-header .ps-burger{position:static !important; display:inline-flex !important; background:red !important; width:46px !important; height:44px !important}
}

/* DIAG4 — globálny test viditeľnosti burgera */
.vs-header .ps-burger{position:fixed !important;top:100px !important;left:100px !important;width:80px !important;height:80px !important;background:lime !important;z-index:99999 !important;display:block !important;visibility:visible !important;opacity:1 !important}

/* HERO — 5×4 mozaika z jednej fotky žeriavu, vyplní celú plochu hero sekcie */
.ps-hero-board{grid-template-columns:repeat(5,1fr) !important;grid-template-rows:repeat(4,1fr) !important}
@media (max-width:767px){.ps-hero-board{grid-template-columns:repeat(5,1fr) !important;grid-template-rows:repeat(4,1fr) !important}}
/* reset diagnostiky burgera (desktop skrytý, žiadne lime/red) */
.vs-header .ps-burger{position:static !important;top:auto !important;left:auto !important;right:auto !important;background:transparent !important;width:48px !important;height:44px !important;z-index:auto !important}
@media (min-width:1200px){.vs-header .ps-burger{display:none !important}}

/* RESPONZÍVA — hero pod fixnou hlavičkou (nech vrch nie je urezaný) + nadpis sa zmestí */
@media (max-width: 991px){
  .ps-hero{margin-top:66px !important; padding-top:44px !important}
  .ps-hero-title{font-size:clamp(1.5rem,6.5vw,2rem) !important; overflow-wrap:break-word; word-break:normal}
}

/* RESPONZÍVA — hero text sa musí zmestiť (kontajner na 100% + zalamovanie) */
@media (max-width: 991px){
  .ps-hero .container{max-width:100% !important; padding-left:18px !important; padding-right:18px !important}
  .ps-hero-inner{max-width:100% !important; width:auto !important}
  .ps-hero-kicker{white-space:normal !important; max-width:100%}
  .ps-hero-title{max-width:100%; overflow-wrap:anywhere}
  .ps-hero-title br{display:none}
  .ps-hero-lead{max-width:100%; overflow-wrap:anywhere}
}

/* RESPONZÍVA — hero štatistiky nech nenútia šírku (zalamovať) */
@media (max-width: 991px){
  .ps-hero-stats{flex-wrap:wrap !important; gap:16px 22px !important}
  .ps-hero-stats .ps-hs{min-width:0 !important; flex:1 1 40%}
  .ps-hero-inner{overflow:hidden}
  .ps-hero-kicker{white-space:normal !important; line-height:1.3}
}

/* RESPONZÍVA — hero prvky tvrdo viazané na viewport (koniec presahu) */
@media (max-width: 991px){
  .ps-hero-inner > *{max-width:calc(100vw - 40px) !important; box-sizing:border-box}
  .ps-hero-lead, .ps-hero-title, .ps-hero-kicker{width:auto !important}
}

/* Kontakt — e-maily čitateľné (téma ich dáva biele => na svetlom neviditeľné) */
.contact-sec .contact-info .gmail{display:block !important; color:var(--color-heading) !important; margin-top:6px; text-decoration:underline}
.contact-sec .contact-info .gmail:hover{color:var(--color-primary) !important}
body.is-dark .contact-sec .contact-info .gmail{color:#cfe0f0 !important}
/* Päta — kredit LUMA Creative */
.footer-botom .ps-credit a{color:var(--color-primary)}
.footer-botom .ps-credit a:hover{text-decoration:underline}

/* Hero pod (vyššou) hlavičkou — logo 2x => hlavička ~140px, nech sa vrch dlaždíc neoreže */
.ps-hero{margin-top:158px}
@media (max-width: 991px){ .ps-hero{margin-top:88px !important} }

/* logo rozumná veľkosť (112px robilo hlavičku ~235px → orezaný hero) + kompaktná hlavička */
.header-logo .ps-logo-inline{height:78px}
.vs-header .header-menu-area{padding-top:14px !important; padding-bottom:14px !important}
.ps-mm-head .ps-logo-inline{height:46px}
@media (max-width:991px){ .header-logo .ps-logo-inline{height:50px} }
/* HERO LEAD — ostrejší a čitateľnejší (na rušivom pozadí) */
.ps-hero-lead{color:#eef4fa !important; font-weight:500 !important; font-size:clamp(1.08rem,1.5vw,1.26rem) !important; line-height:1.65 !important; text-shadow:0 2px 16px rgba(4,9,15,.6), 0 1px 2px rgba(4,9,15,.5)}

/* Hero flip: otáčať okolo SPODNEJ hrany, nech sa vrch dlaždice pri zmene nedvihne nad hero (a hlavička ho neoreže) */
.ps-hero-board .hb-flip{transform-origin:center bottom}
.ps-hero{overflow:hidden}

/* footer logo (inline) veľkosť */
.footer-logo .ps-logo-inline{height:64px}

/* Hero na 80% šírky stránky (centrované, zaoblené) */
.ps-hero{width:80%; max-width:1640px; margin-left:auto !important; margin-right:auto !important; border-radius:24px}
@media (max-width:991px){ .ps-hero{width:auto; margin-left:14px !important; margin-right:14px !important; border-radius:16px} }

/* Bežiaci text na 80% šírky (centrovaný, zaoblený — ako hero) */
.marquee{width:80%; max-width:1640px; margin-left:auto; margin-right:auto; border-radius:16px}
@media (max-width:991px){ .marquee{width:auto; margin-left:14px; margin-right:14px} }

/* Bežiaci pás SPÄŤ na celú šírku (sklo pozadie ostáva) */
.marquee{width:auto !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; border-radius:0 !important}
@media (max-width:991px){ .marquee{margin-left:0 !important; margin-right:0 !important} }
/* Hlavička nižšia (na výšku) — menšie logo + tesné odsadenie */
.header-logo .ps-logo-inline{height:46px !important}
.vs-header .header-menu-area{padding-top:8px !important; padding-bottom:8px !important}
@media (max-width:991px){ .header-logo .ps-logo-inline{height:42px !important} }

/* Horné menu o 20% užšie horizontálne — header na 80% šírky, centrovaný (floating) */
.vs-header{left:50% !important; right:auto !important; transform:translateX(-50%); width:80% !important; max-width:1640px; border-radius:0 0 18px 18px; box-shadow:0 8px 28px rgba(20,40,70,.12)}
@media (max-width:991px){ .vs-header{width:94% !important; border-radius:0 0 14px 14px} }

/* Horné menu doľava (za logo), telefón+CTA doprava — všetko na 1 riadok */
@media (min-width: 1200px){
  .vs-header .header-menu-area > .row{flex-wrap:nowrap !important; justify-content:flex-start !important; align-items:center}
  .vs-header .header-menu-area > .row > .col-auto.d-none.d-xl-block{margin-left:24px}
  .vs-header .btn-box{margin-left:auto !important; flex-wrap:nowrap}
  .vs-header .menu-style1 > ul{flex-wrap:nowrap}
  .vs-header .menu-style1 > ul > li > a{padding-left:13px !important; padding-right:13px !important; white-space:nowrap}
  .vs-header .header-contact11{white-space:nowrap}
}

/* Hero zmenšený, nech sa prvá obrazovka zmestí na MacBook Air (bez pretekania) */
@media (min-width: 992px){
  .ps-hero{min-height:60vh !important; padding-top:40px !important; padding-bottom:52px !important}
  .ps-hero-kicker{margin-bottom:14px}
  .ps-hero-title{font-size:clamp(1.55rem,2.4vw,2.15rem) !important; line-height:1.12; margin-bottom:16px}
  .ps-hero-lead{font-size:1.04rem !important; line-height:1.55 !important; margin-bottom:22px; max-width:600px}
  .ps-hero-cta{gap:12px}
  .ps-hero-stats{margin-top:26px !important; gap:34px}
  .ps-hs .n{font-size:1.85rem}
}

/* Sticky hlavička = rovnaká ako statická (80% centrovaná, menu vľavo, nie doprava) */
.vs-header.sticky-active, .vs-header.is-sticky{
  left:50% !important; right:auto !important; transform:translateX(-50%) !important;
  width:80% !important; max-width:1640px !important; margin:0 !important;
  padding-top:8px !important; padding-bottom:8px !important; border-radius:0 0 18px 18px !important;
}
.vs-header.sticky-active .header-menu-area, .vs-header.is-sticky .header-menu-area{transform:none !important; opacity:1 !important}
@media (min-width:1200px){
  .vs-header.is-sticky .header-menu-area > .row, .vs-header.sticky-active .header-menu-area > .row{justify-content:flex-start !important}
  .vs-header.is-sticky .btn-box, .vs-header.sticky-active .btn-box{margin-left:auto !important}
}
@media (max-width:991px){ .vs-header.sticky-active, .vs-header.is-sticky{width:94% !important} }

/* Bežiaci text — frosted glass ako okná v macOS (silný blur + saturácia) */
.marquee{background:rgba(12,17,24,.28) !important; -webkit-backdrop-filter:blur(22px) saturate(180%) !important; backdrop-filter:blur(22px) saturate(180%) !important; border-top:1px solid rgba(255,255,255,.16) !important; border-bottom:1px solid rgba(255,255,255,.12) !important}

/* sticky hlavička — žiadny bočný padding navyše (téma pridáva 20/16px => menu skáče) */
.vs-header.sticky-active, .vs-header.is-sticky{padding:8px 0 !important}

/* Hero späť na CELÚ šírku */
.ps-hero{width:auto !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; border-radius:0 !important}
@media (max-width:991px){ .ps-hero{margin-left:0 !important; margin-right:0 !important} }

/* Bežiaci text — frosted glass ako macOS Dock (priesvitnejší, lesklá horná hrana) */
.marquee{background:rgba(18,26,38,.22) !important; -webkit-backdrop-filter:blur(26px) saturate(190%) !important; backdrop-filter:blur(26px) saturate(190%) !important; border-top:1px solid rgba(255,255,255,.20) !important; border-bottom:1px solid rgba(255,255,255,.08) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.marquee-inner span{text-shadow:0 1px 8px rgba(4,9,15,.5)}

/* Sticky bez „odskočenia" — vypnúť theme slide-down animáciu a transformy (hlavička je aj tak fixná) */
.vs-header, .vs-header.sticky-active, .vs-header.is-sticky{
  animation:none !important; transition:box-shadow .3s ease !important;
  transform:translateX(-50%) !important;
}
.vs-header .header-menu-area,
.vs-header.sticky-active .header-menu-area,
.vs-header.is-sticky .header-menu-area{
  transform:none !important; animation:none !important; transition:none !important; opacity:1 !important;
}

/* Bežiaci text — TRANSPARENTNÝ ako outline CTA "Čo robím so žeriavmi" (bez výplne, len okraj) */
.marquee{background:transparent !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; border-top:1px solid rgba(255,255,255,.45) !important; border-bottom:1px solid rgba(255,255,255,.45) !important; box-shadow:none !important}
.marquee::before, .marquee::after{display:none !important}
.marquee-inner span{text-shadow:0 1px 12px rgba(4,9,15,.75), 0 1px 2px rgba(4,9,15,.6)}

/* Calc CTA "Poslať tieto parametre dopytom" — viditeľné na tmavom výsledku kalkulačky */
.ps-calc-result #calcInquiry, .ps-calc-result .ibt-btn-outline{color:#fff !important; border:1px solid rgba(255,255,255,.5) !important; background:transparent !important}
.ps-calc-result #calcInquiry span, .ps-calc-result .ibt-btn-outline span{color:#fff !important}
.ps-calc-result #calcInquiry:hover{background:#fff !important}
.ps-calc-result #calcInquiry:hover span{color:#0b1016 !important}

/* Header "Nezáväzný dopyt" — viditeľné v TMAVEJ téme */
body.is-dark .vs-header .ibt-btn-outline-3,
body.is-dark .vs-header .ibt-btn-outline-3 span{color:#eef3f8 !important}
body.is-dark .vs-header .ibt-btn-outline-3{border:1px solid rgba(255,255,255,.5) !important; background:transparent !important}
body.is-dark .vs-header .ibt-btn-outline-3:hover{background:#fff !important}
body.is-dark .vs-header .ibt-btn-outline-3:hover span{color:#0b0f14 !important}

/* Outline tlačidlá na tmavých sekciách / v tmavej téme — vždy viditeľný text */
body.is-dark .ibt-btn-outline, body.is-dark .ibt-btn-outline span, body.is-dark .ibt-btn-outline i,
.footer-style1 .ibt-btn-outline, .footer-style1 .ibt-btn-outline span, .footer-style1 .ibt-btn-outline i{color:#fff !important; border-color:rgba(255,255,255,.5) !important}
body.is-dark .ibt-btn-outline:hover, .footer-style1 .ibt-btn-outline:hover{background:#fff !important}
body.is-dark .ibt-btn-outline:hover span, body.is-dark .ibt-btn-outline:hover i,
.footer-style1 .ibt-btn-outline:hover span, .footer-style1 .ibt-btn-outline:hover i{color:#0b0f14 !important}

/* Kontakt — všetky info (telefón, popisky, adresa, hodiny, fakturačné) čitateľné */
.contact-sec .contact-info .title,
.contact-sec .contact-info .nmbr,
.contact-sec .contact-info p{color:var(--color-heading) !important}
.contact-sec .contact-info .nmbr:hover{color:var(--color-primary) !important}
body.is-dark .contact-sec .contact-info .title,
body.is-dark .contact-sec .contact-info .nmbr,
body.is-dark .contact-sec .contact-info p{color:#eef3f8 !important}
body.is-dark .contact-sec .contact-info .gmail{color:#cfe0f0 !important}

/* ============================================================
   HERO MOZAIKA 5×4 — finálne pravidlá (prepisuje staršie
   konfliktné pravidlá vyššie v súbore).
   Jedna fotka žeriavu rozsekaná na štvorčeky; každá dlaždica
   je VÝREZ (background-position podľa --bx/--by). Štvorčeky sa
   efektne preklápajú okolo OSI Y — predná aj zadná strana
   ukazujú ten istý výrez, takže obraz ostáva celistvý.
   ============================================================ */
.ps-hero-board{gap:0 !important;background:#0a0d11}
.ps-hero-board .hb-tile{perspective:900px !important;overflow:visible !important;border-radius:0 !important;box-shadow:none !important}
.ps-hero-board .hb-flip{position:absolute !important;inset:0 !important;transform-style:preserve-3d !important;transform-origin:center center !important;transition:transform 1.5s cubic-bezier(.4,0,.2,1) !important}
.ps-hero-board .hb-flip.flipped{transform:rotateY(180deg) !important}
.ps-hero-board .hb-flip.flip-out{transform:none !important}
/* každá dlaždica = samostatná 16:9 fotka cez celú plochu (cover = NIKDY sa
   nenaťahuje, len sa orežú okraje). Fotku nastavuje JS inline na každú stranu. */
.ps-hero-board .hb-face{position:absolute !important;inset:0 !important;display:block !important;overflow:hidden !important;border-radius:0 !important;
  backface-visibility:hidden !important;-webkit-backface-visibility:hidden !important;
  background-color:#0a0d11 !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  filter:brightness(1.12) contrast(1.03) !important;
  box-shadow:inset 0 0 0 1px rgba(122,182,232,.10) !important}
.ps-hero-board .hb-back{transform:rotateY(180deg) !important}
/* staré <img>/zoom/dissolve pravidlá v mozaike nepoužívame */
.ps-hero-board .hb-face img{display:none !important}
.ps-hero-board .hb-face::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(155deg,rgba(46,111,176,.05) 0%,rgba(11,16,22,.10) 100%);mix-blend-mode:multiply}
.ps-hero-board .hb-face::before{content:none !important}

/* ============================================================
   BEŽIACI TEXT — FROSTED GLASS podklad (priesvitné matné sklo
   ako panely v Apple Control Center). Finálne pravidlá —
   prepisujú skoršie .marquee (vrátane transparentného r.867).
   ============================================================ */
.marquee{
  background:rgba(255,255,255,.12) !important;
  -webkit-backdrop-filter:blur(20px) saturate(1.6) !important;
  backdrop-filter:blur(20px) saturate(1.6) !important;
  border-top:1px solid rgba(255,255,255,.30) !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 12px 34px rgba(4,9,15,.20) !important;
}
.marquee::before,.marquee::after{display:block !important;background:linear-gradient(90deg,rgba(255,255,255,.14),rgba(255,255,255,0)) !important}
.marquee::after{background:linear-gradient(270deg,rgba(255,255,255,.14),rgba(255,255,255,0)) !important}
/* text čitateľný na priesvitnom skle */
.marquee-inner span{text-shadow:0 1px 10px rgba(4,9,15,.45)}

/* Bežiaci text — FARBA LOGA (modrý logo-gradient #5aa0e0 → #2e6fb0) */
.marquee-inner span{
  background:linear-gradient(180deg,#5aa0e0 0%,#2e6fb0 118%) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
  text-shadow:none !important;
}

/* ============================================================
   FEATURE 1 — VIZUÁLNY DOSAHOVÝ DIAGRAM + ukazovateľ vyťaženia
   ============================================================ */
.ps-dg-wrap{margin-bottom:26px}
.ps-dg{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 14px 38px rgba(8,16,28,.30)}
/* mriežka a osi */
.ps-dg-grid line{stroke:rgba(124,168,207,.13);stroke-width:1}
.ps-dg-axislbl text{fill:rgba(156,195,224,.55);font-family:var(--font-primary,sans-serif);font-weight:600;font-size:9px;letter-spacing:.04em}
/* pracovná obálka (dráha hlavy výložníka) */
.ps-dg-env{fill:none;stroke:rgba(90,160,224,.45);stroke-width:1.2;stroke-dasharray:3 5}
.ps-dg-envfill{stroke:none}
/* zem + kóta dosahu */
.ps-dg-ground{stroke:rgba(206,224,240,.55);stroke-width:1.5}
.ps-dg-radius{stroke:#5aa0e0;stroke-width:2;stroke-dasharray:5 4}
.ps-dg-rtick{stroke:rgba(206,224,240,.5);stroke-width:1.4}
/* silueta žeriavu */
.ps-dg-cw{fill:#1c2630}
.ps-dg-super{fill:url(#dgSteel)}
.ps-dg-cab{fill:#5f7d99}
.ps-dg-chassis{fill:#2a3642}
.ps-dg-wheel{fill:#0c1117;stroke:#3a4a59;stroke-width:1.5}
.ps-dg-hub{fill:#46586a}
/* výložník — kovový teleskop s odleskom (pohyb poháňa requestAnimationFrame) */
.ps-dg-boom{fill:url(#dgBoomGrad);stroke:rgba(255,255,255,.35);stroke-width:.6}
.ps-dg-boomseg{stroke:rgba(40,55,70,.55);stroke-width:1}
.ps-dg-pivot{fill:#cfe0f0;stroke:#2e6fb0;stroke-width:1.5}
/* lano + bremeno */
.ps-dg-hook{stroke:rgba(255,255,255,.6);stroke-width:1.3}
.ps-dg-hookk{fill:none;stroke:#cfe0f0;stroke-width:1.6}
.ps-dg-load{fill:#2e6fb0;stroke:rgba(255,255,255,.25);stroke-width:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4));transition:fill .3s ease}
/* kapacitný štítok */
.ps-dg-capbg{fill:rgba(11,16,22,.92);stroke:rgba(124,168,207,.4);stroke-width:1;transition:stroke .3s ease}
.ps-dg-cap{fill:#fff;font-family:var(--font-primary,sans-serif);font-weight:800;font-size:12px}
.ps-dg-rlabel{fill:#9cc3e0;font-family:var(--font-primary,sans-serif);font-weight:700;font-size:11px}
/* farebné stavy */
#dgSvg.ok .ps-dg-load{fill:#27ae60}
#dgSvg.warn .ps-dg-load{fill:#e8a020}
#dgSvg.over .ps-dg-load{fill:#e0533c}
#dgSvg.ok .ps-dg-capbg{stroke:rgba(39,174,96,.7)}
#dgSvg.warn .ps-dg-capbg{stroke:rgba(232,160,32,.7)}
#dgSvg.over .ps-dg-capbg{stroke:rgba(224,83,60,.75)}
@media(prefers-reduced-motion:reduce){.ps-dg-boomg,.ps-dg-loadg,.ps-dg-capg,.ps-dg-hook{transition:none}}
/* ukazovateľ vyťaženia v paneli verdiktu */
.ps-calc-gauge{position:relative;width:100%;height:9px;border-radius:100px;background:rgba(255,255,255,.16);margin:6px 0 30px}
.ps-calc-gauge-fill{height:100%;border-radius:100px;background:#27ae60;width:0;transition:width .35s ease,background .35s ease}
.ps-calc-result.warn .ps-calc-gauge-fill{background:#e8a020}
.ps-calc-result.over .ps-calc-gauge-fill{background:#e0533c}
.ps-calc-gauge span{position:absolute;right:0;top:13px;font-size:.72rem;letter-spacing:.04em;color:rgba(255,255,255,.7)}

/* ============================================================
   FEATURE 2 — „PREJDEM K VÁM?" prejazdový gabarit (semafor)
   ============================================================ */
.ps-fit{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:stretch;background:#fff;border:1px solid #e6eaee;border-radius:24px;padding:40px;box-shadow:0 26px 70px rgba(15,30,55,.10);max-width:1040px;margin:0 auto}
.ps-fit-controls{display:flex;flex-direction:column;justify-content:center;gap:28px}
.ps-fit-specs{list-style:none;margin:6px 0 0;padding:16px 0 0;border-top:1px solid #e6eaee}
.ps-fit-specs li{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;font-size:.92rem}
.ps-fit-specs li span{color:#6b7682}
.ps-fit-specs li b{color:var(--color-heading,#1a2230);font-weight:700}
.ps-fit-result{border-radius:18px;padding:32px 28px;text-align:center;background:#0b1016;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .45s ease}
.ps-fit-result.green{background:linear-gradient(160deg,#0f3a2b,#0b1016)}
.ps-fit-result.amber{background:linear-gradient(160deg,#3a2c0e,#0b1016)}
.ps-fit-result.red{background:linear-gradient(160deg,#3c1a14,#0b1016)}
.ps-fit-lights{display:flex;gap:13px;margin-bottom:22px}
.ps-fit-lights .dot{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.14);transition:.3s}
.ps-fit-result.red .dot.red{background:#e0533c;box-shadow:0 0 16px rgba(224,83,60,.85)}
.ps-fit-result.amber .dot.amber{background:#e8a020;box-shadow:0 0 16px rgba(232,160,32,.85)}
.ps-fit-result.green .dot.green{background:#27ae60;box-shadow:0 0 16px rgba(39,174,96,.85)}
.ps-fit-result h3{color:#fff;font-size:1.4rem;margin:0 0 10px}
.ps-fit-result p{color:rgba(255,255,255,.82);font-size:.95rem;line-height:1.55;margin:0 0 20px}
.ps-fit-result .ibt-btn{width:100%;justify-content:center}
body.is-dark .ps-fit{background:#0f1620;border-color:rgba(255,255,255,.08)}
body.is-dark .ps-fit-specs{border-color:rgba(255,255,255,.1)}
body.is-dark .ps-fit-specs li span{color:rgba(255,255,255,.6)}
body.is-dark .ps-fit-specs li b{color:#eef3f8}
@media(max-width:900px){.ps-fit{grid-template-columns:1fr;padding:26px;gap:26px}}

/* ============================================================
   FEATURE 3 — DOJAZDOVÁ MAPA (Leaflet, rádius prstence)
   ============================================================ */
.ps-radius-map{height:440px;width:100%;border-radius:18px;overflow:hidden;border:1px solid #e6eaee;box-shadow:0 20px 50px rgba(15,30,55,.12);position:relative;z-index:1}
body.is-dark .ps-radius-map{border-color:rgba(255,255,255,.08)}
.leaflet-container{background:#0b1016;font-family:var(--font-secondary,sans-serif)}
.ps-radius-legend{display:flex;gap:26px;flex-wrap:wrap;justify-content:center;margin-top:20px;font-size:.9rem;color:var(--color-muted,#6b7682)}
.ps-radius-legend .dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px;vertical-align:middle}
.ps-radius-legend .d1{background:#27ae60}
.ps-radius-legend .d2{background:#5aa0e0}
.ps-radius-legend .d3{background:#2e6fb0}
body.is-dark .ps-radius-legend{color:rgba(255,255,255,.72)}
@media(max-width:600px){.ps-radius-map{height:340px}.ps-radius-legend{gap:14px 20px;font-size:.82rem}}

/* ============================================================
   FEATURE 4 — FOTO BREMENA → WHATSAPP / VIBER
   ============================================================ */
.ps-wa{margin:0 0 30px;padding:22px 24px;border-radius:18px;background:linear-gradient(150deg,rgba(37,211,102,.10),rgba(46,111,176,.06));border:1px solid rgba(37,211,102,.28)}
.ps-wa-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.ps-wa-ico{flex:0 0 auto;width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#25D366;color:#fff;font-size:1.4rem}
.ps-wa-head h4{margin:0 0 4px;font-size:1.1rem;color:var(--color-heading,#1a2230)}
.ps-wa-head p{margin:0;font-size:.92rem;color:var(--color-muted,#6b7682);line-height:1.5}
.ps-wa-actions{display:flex;flex-wrap:wrap;gap:10px}
.ps-wa-actions .ibt-btn{flex:1 1 auto;justify-content:center}
.ibt-btn-wa{background:#25D366;border-color:#25D366}
.ibt-btn-wa span,.ibt-btn-wa i{color:#fff}
.ibt-btn-wa:hover{background:#1eb456;border-color:#1eb456}
.ps-wa-preview{margin-top:16px;display:flex;flex-direction:column;gap:8px}
.ps-wa-preview img{width:100%;max-height:220px;object-fit:cover;border-radius:12px}
.ps-wa-hint{font-size:.82rem;color:var(--color-muted,#6b7682);line-height:1.45}
.ps-wa-hint i{color:#5aa0e0;margin-right:5px}
body.is-dark .ps-wa-head h4{color:#eef3f8}
body.is-dark .ps-wa-head p,body.is-dark .ps-wa-hint{color:rgba(255,255,255,.72)}

/* FEATURE 1 — realistické doplnky siluety žeriavu a bremena */
.ps-dg-shadow{fill:rgba(0,0,0,.38)}
.ps-dg-outr{stroke:#2a3642;stroke-width:3;stroke-linecap:round}
.ps-dg-pad{fill:#3a4a59}
.ps-dg-tyre{fill:none;stroke:#0a0f14;stroke-width:2.2}
.ps-dg-cwln{stroke:rgba(0,0,0,.45);stroke-width:1}
.ps-dg-window{fill:#9fc4e6;opacity:.85}
.ps-dg-foot{fill:#2a3642}
.ps-dg-boomhi{stroke:rgba(255,255,255,.55);stroke-width:.8}
.ps-dg-sheave{fill:#cfe0f0;stroke:#2e6fb0;stroke-width:1.2}
.ps-dg-loadshadow{fill:rgba(0,0,0,.32)}
.ps-dg-block{fill:#46586a;stroke:rgba(255,255,255,.22);stroke-width:.8}
.ps-dg-blockln{stroke:rgba(0,0,0,.4);stroke-width:1}
.ps-dg-sling{stroke:rgba(255,255,255,.55);stroke-width:1.1}

/* ============================================================
   JAZYKOVÝ PREPÍNAČ — vlajky (SK / EN)
   ============================================================ */
.ps-lang{display:inline-flex;align-items:center;gap:8px;padding:5px;border-radius:9px;line-height:0;transition:transform .2s,background .2s;border:1px solid rgba(255,255,255,.20)}
.ps-lang:hover{background:rgba(255,255,255,.12);transform:translateY(-1px)}
.vs-header.is-sticky .ps-lang{border-color:rgba(0,0,0,.14)}
.vs-header.is-sticky .ps-lang:hover{background:rgba(0,0,0,.05)}
.ps-flag{width:26px;height:17px;border-radius:3px;display:block;box-shadow:0 1px 3px rgba(0,0,0,.35);overflow:hidden}
.ps-lang .ps-lang-txt{display:none}                 /* desktop: iba vlajka */
.ps-lang-mm{justify-content:center;border-color:rgba(0,0,0,.12);margin-top:16px;padding:11px;border-radius:12px}
.ps-lang-mm .ps-flag{width:30px;height:20px}
.ps-lang-mm .ps-lang-txt{display:inline;font-weight:600;color:inherit;font-size:.95rem}
body.is-dark .ps-lang-mm{border-color:rgba(255,255,255,.18)}

/* ============================================================
   COOKIES lišta
   ============================================================ */
.ps-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:4000;max-width:680px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:14px;background:rgba(11,16,22,.96);color:#eef3f8;border:1px solid rgba(124,168,207,.25);box-shadow:0 16px 44px rgba(4,9,15,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ps-cookie[hidden]{display:none}
.ps-cookie-txt{font-size:.86rem;line-height:1.45;color:rgba(238,243,248,.88)}
.ps-cookie-txt i{color:#e8b84a;margin-right:6px}
.ps-cookie-ok{flex:0 0 auto;white-space:nowrap}
.ps-cookie-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.ps-cookie-reject{background:transparent;border:1px solid rgba(124,168,207,.45);color:#cfe0f0;font-family:var(--font-primary,sans-serif);font-weight:600;font-size:.84rem;padding:10px 18px;border-radius:100px;cursor:pointer;transition:.18s;white-space:nowrap}
.ps-cookie-reject:hover{border-color:#cfe0f0;color:#fff;background:rgba(255,255,255,.05)}
@media(max-width:600px){.ps-cookie{flex-direction:column;align-items:stretch;text-align:center;bottom:84px}.ps-cookie-actions{width:100%;gap:8px}.ps-cookie-actions .ps-cookie-reject,.ps-cookie-actions .ps-cookie-ok{flex:1;width:auto;justify-content:center}}

/* ============================================================
   PLYNULÝ PRECHOD MEDZI STRÁNKAMI (vrátane zmeny jazyka) —
   cross-document View Transitions: žiadne biele bliknutie.
   ============================================================ */
@view-transition { navigation: auto; }
::view-transition-old(root){ animation: psFadeOut .28s ease both; }
::view-transition-new(root){ animation: psFadeIn .32s ease both; }
@keyframes psFadeOut{ to{ opacity:0 } }
@keyframes psFadeIn{ from{ opacity:0 } }
/* preloader iba pri prvom načítaní v relácii (nebliká pri navigácii/zmene jazyka) */
html.ps-noload .preloader{ display:none !important; }
@media(prefers-reduced-motion:reduce){ ::view-transition-old(root),::view-transition-new(root){ animation:none } }

/* ============================================================
   FEATURE 5 — PRÍPRAVNÝ CHECKLIST (interaktívny)
   ============================================================ */
.ps-prep{max-width:860px;margin:0 auto;background:#fff;border:1px solid #e6eaee;border-radius:24px;padding:34px 36px;box-shadow:0 26px 70px rgba(15,30,55,.10)}
body.is-dark .ps-prep{background:#0f1620;border-color:rgba(255,255,255,.08)}
.ps-prep-top{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.ps-prep-bar{flex:1 1 auto;height:10px;border-radius:100px;background:rgba(46,111,176,.14);overflow:hidden}
.ps-prep-fill{height:100%;width:0;border-radius:100px;background:linear-gradient(90deg,#5aa0e0,#27ae60);transition:width .4s cubic-bezier(.45,.05,.25,1)}
.ps-prep-status{flex:0 0 auto;font-size:.9rem;color:var(--color-muted,#6b7682);white-space:nowrap}
.ps-prep-status b{color:var(--color-primary);font-size:1.15rem;font-weight:800}
.ps-prep-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ps-prep-item label{display:flex;align-items:flex-start;gap:14px;cursor:pointer;padding:14px 16px;border:1px solid #e6eaee;border-radius:14px;transition:.22s;background:#fff}
body.is-dark .ps-prep-item label{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.1)}
.ps-prep-item label:hover{border-color:var(--color-primary);box-shadow:0 6px 18px rgba(46,111,176,.1)}
.ps-prep-item input{position:absolute;opacity:0;width:0;height:0}
.ps-prep-check{flex:0 0 auto;width:26px;height:26px;border-radius:8px;border:2px solid #cdd6df;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;transition:.22s;margin-top:1px}
.ps-prep-check i{opacity:0;transform:scale(.5);transition:.22s}
.ps-prep-item.checked .ps-prep-check{background:#27ae60;border-color:#27ae60}
.ps-prep-item.checked .ps-prep-check i{opacity:1;transform:scale(1)}
.ps-prep-item.checked label{border-color:rgba(39,174,96,.5);background:rgba(39,174,96,.06)}
.ps-prep-txt{display:flex;flex-direction:column;gap:3px}
.ps-prep-txt b{font-family:var(--font-primary,sans-serif);font-weight:600;color:var(--color-heading,#1a2230);font-size:1.02rem;line-height:1.3}
body.is-dark .ps-prep-txt b{color:#eef3f8}
.ps-prep-txt em{font-style:normal;font-size:.88rem;color:var(--color-muted,#6b7682);line-height:1.45}
.ps-prep-item.checked .ps-prep-txt b{text-decoration:line-through;text-decoration-color:rgba(39,174,96,.6)}
.ps-prep-done{margin-top:20px;padding:16px 20px;border-radius:14px;background:linear-gradient(150deg,rgba(39,174,96,.14),rgba(46,111,176,.06));border:1px solid rgba(39,174,96,.35);color:#1a2230;font-weight:600;display:flex;align-items:center;gap:10px}
.ps-prep-done i{color:#27ae60;font-size:1.2rem}
body.is-dark .ps-prep-done{color:#eef3f8}
.ps-prep-done[hidden]{display:none}
.ps-prep-note{margin:16px 2px 0;font-size:.84rem;color:var(--color-muted,#6b7682)}
.ps-prep-note i{color:#5aa0e0;margin-right:5px}
@media(max-width:600px){.ps-prep{padding:24px 20px}.ps-prep-top{flex-direction:column;align-items:stretch;gap:10px}.ps-prep-status{text-align:right}}

/* ============================================================
   FEATURE 6 — FAQ (answer-first akordeón)
   ============================================================ */
.ps-faq{max-width:860px;margin:0 auto;display:grid;gap:14px}
.ps-faq-item{border:1px solid #e6eaee;border-radius:16px;background:#fff;overflow:hidden;transition:border-color .25s,box-shadow .25s}
body.is-dark .ps-faq-item{background:#0f1620;border-color:rgba(255,255,255,.08)}
.ps-faq-item.open{border-color:rgba(46,111,176,.4);box-shadow:0 14px 38px rgba(15,30,55,.08)}
.ps-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;background:none;border:0;cursor:pointer;padding:20px 24px;font-family:var(--font-primary,sans-serif);font-weight:600;font-size:1.06rem;color:var(--color-heading,#1a2230);line-height:1.35}
body.is-dark .ps-faq-q{color:#eef3f8}
.ps-faq-q i{flex:0 0 auto;color:var(--color-primary);transition:transform .3s ease;font-size:.9rem}
.ps-faq-item.open .ps-faq-q i{transform:rotate(180deg)}
.ps-faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.45,.05,.25,1)}
.ps-faq-item.open .ps-faq-a{max-height:340px}
.ps-faq-a-in{padding:0 24px 22px}
.ps-faq-a-in p{margin:0;color:var(--color-muted,#5b6571);font-size:.98rem;line-height:1.65}
body.is-dark .ps-faq-a-in p{color:rgba(255,255,255,.74)}

/* ============================================================
   FEATURE 7 — PWA install chip + mikro-interakcie
   ============================================================ */
.ps-scrollbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:5000;background:transparent;pointer-events:none}
.ps-scrollbar-in{height:100%;width:0;background:linear-gradient(90deg,#5aa0e0,#2e6fb0);box-shadow:0 0 8px rgba(46,111,176,.5);transition:width .08s linear}
.ps-install{position:fixed;left:16px;bottom:88px;z-index:3500;display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:100px;border:1px solid rgba(124,168,207,.3);background:rgba(11,16,22,.95);color:#eef3f8;font-family:var(--font-primary,sans-serif);font-weight:600;font-size:.86rem;cursor:pointer;box-shadow:0 12px 30px rgba(4,9,15,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:psInstallIn .4s ease both}
.ps-install i{color:#5aa0e0}
.ps-install:hover{border-color:var(--color-primary);transform:translateY(-1px)}
@keyframes psInstallIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:991px){.ps-install{bottom:84px;left:12px}}
.ibt-btn,.ps-callbar-btn{will-change:translate}

/* ============================================================
   RESPONZÍVNY PASS — MacBook Air (≈1280–1440) · tablet · mobil
   Aditívne, bezpečné pravidlá. Nové komponenty + anti-overflow.
   ============================================================ */
/* Žiadne horizontálne preteky a fluidné médiá globálne */
html{overflow-x:hidden}
img,svg,video,iframe{max-width:100%;height:auto}
.ps-dg,.ps-radius-map{max-width:100%}

/* ---- MacBook Air a menšie laptopy (≤1440): mierne stiahnuté okraje ---- */
@media (max-width:1440px){
  .ps-calc,.ps-fit,.ps-prep,.ps-faq{max-width:1000px}
}

/* ---- Tablet (≤1024): dvojstĺpcové nástroje na jeden stĺpec ---- */
@media (max-width:1024px){
  .ps-calc,.ps-fit{grid-template-columns:1fr;gap:26px}
  .ps-calc-controls,.ps-fit-controls{order:1}
  .ps-calc-result,.ps-fit-result{order:2}
  .ps-prep{padding:30px 30px}
  .ps-radius-map{height:400px}
}

/* ---- Stredný tablet / landscape mobil (≤820) ---- */
@media (max-width:820px){
  .ps-faq-q{font-size:1.02rem}
  .ps-wa-actions{gap:8px}
}

/* ---- Mobil (≤600): kompaktné paddingy, väčšie touch-targety, stack ---- */
@media (max-width:600px){
  .ps-calc,.ps-fit{padding:22px 16px;border-radius:18px;gap:22px}
  .ps-prep{padding:22px 16px;border-radius:18px}
  .ps-calc-result,.ps-fit-result{padding:24px 18px}
  .ps-calc-field label{font-size:.95rem}
  .ps-faq{gap:11px}
  .ps-faq-q{padding:16px 18px;font-size:.98rem;gap:12px}
  .ps-faq-a-in{padding:0 18px 18px}
  .ps-radius-map{height:320px;border-radius:14px}
  .ps-radius-legend{gap:10px 18px;font-size:.8rem}
  .ps-prep-item label{padding:13px 14px;gap:12px}
  .ps-prep-txt b{font-size:.98rem}
  .ibt-btn{min-height:46px}
  .ps-wa{padding:18px 16px}
  .ps-wa-actions .ibt-btn{flex:1 1 100%}
  .ps-cookie{font-size:.82rem;padding:13px 16px}
  /* hero text bezpečne zalomený, žiadne pretečenie */
  .ps-hero-inner > *{max-width:100%}
}

/* ---- Veľmi úzke telefóny (≤380) ---- */
@media (max-width:380px){
  .container{padding-left:16px;padding-right:16px}
  .ps-calc-result h3,.ps-fit-result h3{font-size:1.22rem}
  .ps-flag{width:24px;height:15px}
}

/* ---- Touch zariadenia: vypni magnetický posun a hover-citlivé efekty ---- */
@media (hover:none){
  .ibt-btn,.ps-callbar-btn{translate:none !important}
}

/* ============================================================
   RECENZIE — social proof (neuromarketing)
   ============================================================ */
.ps-rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1080px;margin:0 auto}
.ps-rev-card{margin:0;background:#fff;border:1px solid #e6eaee;border-radius:20px;padding:28px 26px;box-shadow:0 18px 50px rgba(15,30,55,.08);display:flex;flex-direction:column;gap:14px;position:relative}
body.is-dark .ps-rev-card{background:#0f1620;border-color:rgba(255,255,255,.08)}
.ps-rev-card::before{content:"\201C";position:absolute;top:6px;right:22px;font-family:Georgia,serif;font-size:4.4rem;line-height:1;color:rgba(46,111,176,.14)}
.ps-rev-stars{display:flex;gap:3px;color:#e8b84a;font-size:.92rem}
.ps-rev-card blockquote{margin:0;font-size:1.02rem;line-height:1.6;color:var(--color-heading,#1a2230)}
body.is-dark .ps-rev-card blockquote{color:#eef3f8}
.ps-rev-card figcaption{display:flex;flex-direction:column;gap:1px;margin-top:auto}
.ps-rev-card figcaption b{font-family:var(--font-primary,sans-serif);font-weight:700;color:var(--color-heading,#1a2230)}
body.is-dark .ps-rev-card figcaption b{color:#eef3f8}
.ps-rev-card figcaption span{font-size:.84rem;color:var(--color-muted,#6b7682)}
@media(max-width:980px){.ps-rev-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ps-rev-grid{grid-template-columns:1fr;gap:16px}.ps-rev-card{padding:24px 20px}}

/* ============================================================
   HERO — KINEMATICKÝ (premium): full-bleed crossfade + Ken-Burns
   Nahrádza „skladačkovú" mozaiku. Pôsobí filmovo, nie detsky.
   ============================================================ */
.ps-hero{min-height:88vh}
.ps-hero::after{display:none !important}                 /* starý plochý prekryv vypnutý */
.ps-hero-cine{position:absolute !important;inset:0 !important;overflow:hidden;background:#080d14;z-index:0}
.ps-hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);transition:opacity 1.8s ease;will-change:opacity,transform;filter:brightness(.9) contrast(1.05) saturate(1.02)}
.ps-hero-slide.is-active{opacity:1;animation:psKen 9.2s ease-out both}
@keyframes psKen{from{transform:scale(1.08)}to{transform:scale(1.18)}}
/* filmový gradient — tmavšie vľavo, kde je nadpis */
.ps-hero-cine::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(100deg,rgba(5,10,17,.9) 0%,rgba(5,10,17,.62) 34%,rgba(5,10,17,.2) 64%,rgba(5,10,17,.52) 100%)}
/* vinieta + plynulý spodný prechod do sekcie/marquee */
.ps-hero-cine::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 -130px 170px -60px rgba(4,8,14,.92), inset 0 0 240px rgba(2,6,12,.55)}
/* jemné filmové zrno */
.ps-hero-grain{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* prémiová typografia nadpisu na fotke */
.ps-hero-title{text-shadow:0 2px 34px rgba(2,6,12,.5)}
.ps-hero-title span{color:#8fc0ec !important}
.ps-hero-lead{text-shadow:0 1px 16px rgba(2,6,12,.65)}
.ps-hero-kicker{letter-spacing:.2em}
@media(prefers-reduced-motion:reduce){.ps-hero-slide.is-active{animation:none}}
@media(max-width:600px){.ps-hero{min-height:74vh}.ps-hero-cine::after{background:linear-gradient(180deg,rgba(5,10,17,.55) 0%,rgba(5,10,17,.35) 45%,rgba(5,10,17,.72) 100%)}}

/* Hero — zosvetlenie pre lepšiu viditeľnosť fotiek (override) */
.ps-hero-slide{filter:brightness(1.22) contrast(1.12) saturate(1.12) !important}
.ps-hero-cine::after{background:linear-gradient(100deg,rgba(6,11,18,.46) 0%,rgba(6,11,18,.22) 32%,rgba(6,11,18,.03) 60%,rgba(6,11,18,.18) 100%) !important}
.ps-hero-cine::before{box-shadow:inset 0 -90px 130px -75px rgba(4,8,14,.45), inset 0 0 170px rgba(2,6,12,.18) !important}
@media(max-width:600px){.ps-hero-cine::after{background:linear-gradient(180deg,rgba(6,11,18,.26) 0%,rgba(6,11,18,.12) 45%,rgba(6,11,18,.45) 100%) !important}}

/* Bežiaci text — posunutý kúsok nižšie pod hero */
.marquee-sec{margin-top:46px !important}
@media(max-width:767px){.marquee-sec{margin-top:30px !important}}

/* Bežiaci text — priesvitné matné sklo (frosted glass) — finálny override */
.marquee{
  background:rgba(255,255,255,.10) !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.5) !important;
  backdrop-filter:blur(16px) saturate(1.5) !important;
  border-top:1px solid rgba(255,255,255,.26) !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 10px 30px rgba(4,9,15,.18) !important;
}
.marquee::before,.marquee::after{background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,0)) !important;display:block !important}
.marquee::after{background:linear-gradient(270deg,rgba(255,255,255,.12),rgba(255,255,255,0)) !important}

/* Karta „Môj žeriav" na domove — nižšia (menej roztiahnutá) fotka */
.ps-crane-card:not(.ps-crane-service) .ps-crane-media{aspect-ratio:16/9 !important}
@media(min-width:992px){.ps-crane-card:not(.ps-crane-service) .ps-crane-media{aspect-ratio:21/9 !important}}

/* ============================================================
   ZDVÍHACIE ZARIADENIA — komplexné služby (grid)
   ============================================================ */
.ps-lift-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1060px;margin:0 auto}
.ps-lift-item{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid #e6eaee;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(15,30,55,.06);transition:.22s}
.ps-lift-item:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 16px 40px rgba(46,111,176,.12)}
.ps-lift-item i{color:var(--color-primary);font-size:1.4rem;flex:0 0 auto;width:30px;text-align:center}
.ps-lift-item span{font-family:var(--font-primary,sans-serif);font-weight:600;color:var(--color-heading,#1a2230);line-height:1.3;font-size:.98rem}
body.is-dark .ps-lift-item{background:#0f1620;border-color:rgba(255,255,255,.08)}
body.is-dark .ps-lift-item span{color:#eef3f8}
@media(max-width:980px){.ps-lift-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ps-lift-grid{grid-template-columns:1fr}}

/* ============================================================
   KPK MARTIN — pás dlhoročnej spolupráce
   ============================================================ */
.ps-kpk{max-width:920px;margin:34px auto 0;display:flex;align-items:center;gap:18px;justify-content:center;text-align:center;padding:22px 30px;border-radius:18px;background:linear-gradient(150deg,rgba(46,111,176,.10),rgba(122,182,232,.05));border:1px solid rgba(46,111,176,.22)}
.ps-kpk i{font-size:1.8rem;color:var(--color-primary);flex:0 0 auto}
.ps-kpk p{margin:0;font-size:1.05rem;line-height:1.5;color:var(--color-heading,#1a2230)}
.ps-kpk b{color:var(--color-primary);font-weight:800}
body.is-dark .ps-kpk p{color:#eef3f8}
@media(max-width:560px){.ps-kpk{flex-direction:column;gap:10px;padding:20px}}

/* ============================================================
   KLIENTI — referencie ako „logo-stena" (textové pilulky)
   ============================================================ */
.ps-clients-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 14px;max-width:980px;margin:0 auto}
.ps-client{padding:11px 22px;border:1px solid #dfe5ea;border-radius:100px;background:#fff;font-family:var(--font-primary,sans-serif);font-weight:700;letter-spacing:.01em;color:#52606d;font-size:.98rem;transition:.22s}
.ps-client:hover{color:var(--color-primary);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 10px 26px rgba(46,111,176,.12)}
.ps-client-more{align-self:center;color:var(--color-muted,#8a93a0);font-style:italic;font-size:.92rem;padding-left:4px}
body.is-dark .ps-client{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#cfe0f0}
@media(max-width:560px){.ps-client{padding:9px 16px;font-size:.9rem}}

/* Hero — istota plynulého prelínania medzi zábermi */
.ps-hero-slide{transition:opacity 1.8s ease !important}

/* Header — CTA vpravo hore zarovnané k pravému okraju, bez zalomenia */
.vs-header .btn-box{justify-content:flex-end !important;flex-wrap:nowrap !important;margin-left:auto}

/* KPK logo v páse */
.ps-kpk-logo{height:30px;width:auto;vertical-align:middle;margin:0 7px;background:#fff;padding:4px 7px;border-radius:7px;box-shadow:0 2px 8px rgba(15,30,55,.12)}
.ps-kpk p{display:inline}

/* CTA vpravo hore — spoľahlivé zarovnanie k pravému okraju, bez burgera na desktope */
.vs-header .header-menu-area > .row{justify-content:space-between !important}
.vs-header .header-menu-area > .row > .col-auto:last-child{margin-left:auto !important}
.vs-header .btn-box{display:flex !important;justify-content:flex-end !important;align-items:center;flex-wrap:nowrap !important;gap:16px}
@media (min-width:1200px){.vs-header .btn-box .ps-burger{display:none !important}}

/* ============================================================
   OFFLINE CHATBOT — asistent
   ============================================================ */
.ps-chat-fab{position:fixed;right:22px;bottom:22px;z-index:4200;display:inline-flex;align-items:center;gap:10px;padding:13px 20px 13px 16px;border:0;border-radius:100px;cursor:pointer;background:linear-gradient(135deg,#2e6fb0,#0f2c4d);color:#fff;font-family:var(--font-primary,sans-serif);font-weight:700;font-size:.92rem;box-shadow:0 14px 36px rgba(20,50,90,.4);transition:transform .2s,box-shadow .2s}
.ps-chat-fab:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(20,50,90,.5)}
.ps-chat-fab i{font-size:1.25rem}
.ps-chat-fab.is-open{transform:scale(.9);opacity:.85}
@media(max-width:991px){.ps-chat-fab{bottom:86px;right:14px;padding:12px;gap:0}.ps-chat-fab span{display:none}}
.ps-chat-panel{position:fixed;right:22px;bottom:22px;z-index:4300;width:370px;max-width:calc(100vw - 28px);height:560px;max-height:calc(100vh - 44px);display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(8,20,40,.45);border:1px solid rgba(124,168,207,.25);animation:psChatIn .26s cubic-bezier(.2,.8,.3,1) both}
@keyframes psChatIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
body.is-dark .ps-chat-panel{background:#0f1620;border-color:rgba(255,255,255,.1)}
@media(max-width:560px){.ps-chat-panel{right:8px;left:8px;bottom:8px;width:auto;height:78vh}}
.ps-chat-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#2e6fb0,#0f2c4d);color:#fff}
.ps-chat-ava{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex:0 0 auto}
.ps-chat-id{display:flex;flex-direction:column;line-height:1.2;flex:1 1 auto}
.ps-chat-id b{font-family:var(--font-primary,sans-serif);font-size:1rem}
.ps-chat-id span{font-size:.76rem;opacity:.82}
.ps-chat-x{margin-left:auto;background:none;border:0;color:#fff;font-size:1.1rem;cursor:pointer;opacity:.85;padding:4px}
.ps-chat-x:hover{opacity:1}
.ps-chat-body{flex:1 1 auto;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px;background:#f3f6f9}
body.is-dark .ps-chat-body{background:#0b1016}
.ps-chat-msg{max-width:84%;padding:11px 15px;border-radius:16px;font-size:.94rem;line-height:1.5;animation:psMsgIn .22s ease both}
@keyframes psMsgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ps-chat-msg.bot{align-self:flex-start;background:#fff;color:#1a2230;border:1px solid #e6eaee;border-bottom-left-radius:5px}
body.is-dark .ps-chat-msg.bot{background:#141c26;color:#eef3f8;border-color:rgba(255,255,255,.08)}
.ps-chat-msg.user{align-self:flex-end;background:linear-gradient(135deg,#2e6fb0,#21588f);color:#fff;border-bottom-right-radius:5px}
.ps-chat-msg a{color:var(--color-primary);font-weight:600;text-decoration:underline}
.ps-chat-msg.user a{color:#fff}
body.is-dark .ps-chat-msg.bot a{color:#7fb6e8}
.ps-chat-typing{display:flex;gap:4px;align-items:center}
.ps-chat-typing span{width:7px;height:7px;border-radius:50%;background:#9cb0c2;animation:psBlink 1s infinite}
.ps-chat-typing span:nth-child(2){animation-delay:.15s}.ps-chat-typing span:nth-child(3){animation-delay:.3s}
@keyframes psBlink{0%,60%,100%{opacity:.3}30%{opacity:1}}
.ps-chat-chips{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px 0;background:#f3f6f9}
body.is-dark .ps-chat-chips{background:#0b1016}
.ps-chat-chip{padding:7px 13px;border:1px solid var(--color-primary);border-radius:100px;background:transparent;color:var(--color-primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:.18s;white-space:nowrap}
.ps-chat-chip:hover{background:var(--color-primary);color:#fff}
.ps-chat-form{display:flex;gap:8px;padding:12px 14px;background:#f3f6f9}
body.is-dark .ps-chat-form{background:#0b1016}
.ps-chat-form input{flex:1 1 auto;border:1px solid #d8e0e8;border-radius:100px;padding:11px 16px;font-size:.92rem;outline:none;background:#fff;color:#1a2230}
body.is-dark .ps-chat-form input{background:#141c26;border-color:rgba(255,255,255,.12);color:#eef3f8}
.ps-chat-form input:focus{border-color:var(--color-primary)}
.ps-chat-form button{flex:0 0 auto;width:44px;border:0;border-radius:50%;background:var(--color-primary);color:#fff;cursor:pointer;font-size:.95rem;transition:.18s}
.ps-chat-form button:hover{background:#21588f}

/* Klienti — logo (s fallbackom na názov) */
.ps-client{display:inline-flex;align-items:center;justify-content:center}
.ps-client-logo{height:40px;width:auto;max-width:160px;object-fit:contain;display:block;filter:grayscale(1);opacity:.75;transition:filter .22s,opacity .22s}
.ps-client:hover .ps-client-logo{filter:grayscale(0);opacity:1}
.ps-client.has-logo{border:0 !important;background:transparent !important;padding:6px 12px !important;box-shadow:none !important}
.ps-client.has-logo:hover{transform:translateY(-2px)}
.ps-client.has-logo .ps-client-name{display:none}
body.is-dark .ps-client-logo{filter:grayscale(1) brightness(0) invert(1);opacity:.7}
body.is-dark .ps-client:hover .ps-client-logo{filter:brightness(0) invert(1);opacity:1}
/* KPK logo — väčšie a jednoznačné */
.ps-kpk-logo{height:40px !important;padding:5px 9px !important}

/* Chat — odosielacie tlačidlo dokonalý kruh (nie oválne/roztiahnuté) */
.ps-chat-form{align-items:center}
.ps-chat-form button{width:44px !important;height:44px !important;flex:0 0 44px !important;padding:0 !important;display:flex;align-items:center;justify-content:center;aspect-ratio:1}

/* Hlavička — „Nezáväzný dopyt" viditeľný na SVETLEJ téme (biely text mizol) */
.vs-header .ibt-btn-outline-3,
.vs-header .ibt-btn-outline-3 span,
.vs-header .ibt-btn-outline-3 i{color:#1a2230 !important}
.vs-header .ibt-btn-outline-3{border-color:rgba(46,111,176,.45) !important}
.vs-header .ibt-btn-outline-3:hover{background:var(--color-primary) !important;border-color:var(--color-primary) !important}
.vs-header .ibt-btn-outline-3:hover span,
.vs-header .ibt-btn-outline-3:hover i{color:#fff !important}

/* Realizácie — CTA nadpis o 10 px nižšie */
.realizacie-cta-title, footer.footer-style1 .footer-content .title{margin-top:10px}

/* Klienti — monochróm logo-stena (čierne siluety; hover = farba). Rieši aj biele logá. */
.ps-clients-row{gap:20px 30px}
.ps-client.has-logo{background:transparent !important;border:0 !important;box-shadow:none !important;padding:8px 14px !important}
.ps-client.has-logo .ps-client-name{display:none}
.ps-client-logo{height:42px;width:auto;max-width:170px;object-fit:contain;display:block;filter:grayscale(1) brightness(0);opacity:.55;transition:filter .25s,opacity .25s}
.ps-client.has-logo:hover .ps-client-logo{filter:none;opacity:1}
body.is-dark .ps-client-logo{filter:grayscale(1) brightness(0) invert(1);opacity:.64}
body.is-dark .ps-client.has-logo:hover .ps-client-logo{filter:none;opacity:1}
@media(max-width:560px){.ps-client-logo{height:34px;max-width:130px}}
/* CTA posun len pre realizácie (nie globálnu pätičku) */
footer.footer-style1 .footer-content:not(.ps-reveal) .title{margin-top:0}

/* Klienti — BIELE KARTY s FAREBNÝMI logami (viditeľné na svetlej aj tmavej téme) */
.ps-clients-row{gap:18px}
.ps-client.has-logo{display:inline-flex !important;align-items:center !important;justify-content:center !important;background:#fff !important;border:1px solid #e6eaee !important;border-radius:14px !important;padding:0 24px !important;height:78px;min-width:150px;box-shadow:0 8px 24px rgba(15,30,55,.08) !important;transition:transform .2s,box-shadow .2s}
.ps-client.has-logo:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(15,30,55,.14) !important}
.ps-client.has-logo .ps-client-name{display:none}
.ps-client-logo{height:44px !important;width:auto !important;max-width:160px !important;object-fit:contain !important;display:block !important;filter:none !important;opacity:1 !important}
body.is-dark .ps-client.has-logo{background:#fff !important;border-color:rgba(255,255,255,.14) !important}
@media(max-width:560px){.ps-client.has-logo{height:64px;min-width:120px;padding:0 16px !important}.ps-client-logo{height:34px !important;max-width:120px !important}}

/* Biele logo (US Steel) → invert na tmavé, nech je vidno na bielej karte */
.ps-client-logo.ps-logo-invert{filter:invert(1) !important;opacity:.85 !important}

/* ============================================================
   TLAČIDLO „HORE" — vľavo dole (plynulý návrat na začiatok)
   ============================================================ */
.ps-top{position:fixed;left:22px;bottom:22px;z-index:4200;width:48px;height:48px;border:0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2e6fb0,#0f2c4d);color:#fff;font-size:1.05rem;box-shadow:0 14px 36px rgba(20,50,90,.4);opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .25s,transform .25s,box-shadow .2s,background .2s}
.ps-top.is-show{opacity:1;visibility:visible;transform:none}
.ps-top:hover{background:#21588f;box-shadow:0 18px 44px rgba(20,50,90,.5);transform:translateY(-2px)}
.ps-top:focus-visible{outline:2px solid #7fb6e8;outline-offset:3px}
body.is-dark .ps-top{background:linear-gradient(135deg,#2e6fb0,#0a1a2e)}
/* mobil: nad spodným call-barom (rovnaká výška ako chat FAB vpravo) */
@media(max-width:991px){.ps-top{left:14px;bottom:86px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.ps-top{transition:opacity .2s}}

/* ============================================================
   RESPONZÍVNE POISTKY — žiadny horizontálny pretok (MacBook Air / tablet / mobil)
   ============================================================ */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
/* dlhé slová (napr. e-maily, názvy strojov) sa zalomia, nepretečú */
.ps-hero-title,.ps-hero-lead,.ps-hero-inner,.about-content,.ps-crane-body,.ps-chat-msg{overflow-wrap:anywhere;min-width:0}
.ps-hero-inner{max-width:100%}
@media(max-width:575px){
  .ps-hero-title{font-size:clamp(1.5rem,7.2vw,2.05rem);line-height:1.12}
  .ps-hero-stats{gap:20px 28px}
  .ps-hs .n{font-size:1.7rem}
}
.ps-client.has-logo:hover .ps-client-logo.ps-logo-invert{opacity:1 !important}
