/* ===== Visitrohace – pohybová vrstva (GSAP + Lenis) ===== */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* priebeh čítania */
.vr-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--orange);transform-origin:0 50%;transform:scaleX(0);z-index:60;pointer-events:none}

/* výškomer */
.vr-alti{position:fixed;left:16px;bottom:16px;z-index:55;display:flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(15,29,46,.88);color:#fff;font:600 .82rem/1 var(--body,inherit);font-variant-numeric:tabular-nums;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);cursor:pointer;transform:translateY(140%);transition:background .2s}
.vr-alti:hover{background:rgba(15,29,46,1)}
.vr-alti svg{width:16px;height:16px;color:var(--orange);flex-shrink:0}
.vr-alti b{font-weight:800;min-width:4.2ch;text-align:right}
.vr-alti small{opacity:.7;font-weight:500}
.vr-alti:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media (max-width:600px){.vr-alti{left:auto;right:12px;bottom:12px;padding:6px 11px 6px 8px;font-size:.74rem}}

/* prechod medzi stránkami – pokojné zhasnutie do tmavej s logom */
.vr-curtain{position:fixed;inset:0;z-index:100;pointer-events:none;visibility:hidden;opacity:0}
.vr-curtain .bg{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,#16283d 0%,var(--navy) 70%)}
.vr-curtain .mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:-10px;display:flex;align-items:center;gap:12px;color:#fff;font:700 1.3rem/1 var(--display,inherit)}
.vr-curtain .mark svg{width:40px;height:40px}
.vr-curtain .mark span b{color:#fff}.vr-curtain .mark span i{font-style:normal;font-weight:300;color:var(--orange)}
.vr-curtain .line{position:absolute;left:50%;top:50%;width:180px;height:2px;margin:26px 0 0 -90px;background:var(--orange);border-radius:2px;transform:scaleX(0);transform-origin:0 50%}
/* príchod na novú stránku: tmavá vrstva sa pomaly rozplynie (čisté CSS, hneď pri prvom vykreslení) */
@media (prefers-reduced-motion:no-preference){
  body::after{content:"";position:fixed;inset:0;z-index:99;pointer-events:none;background:var(--navy);animation:vr-arrive 1.1s cubic-bezier(.45,0,.25,1) .05s both}
  @keyframes vr-arrive{from{opacity:1}to{opacity:0;visibility:hidden}}
}
.pv-mode body::after{display:none}

/* os výšok – stopa a lezec */
.vr-axis-fx{list-style:none;position:static}
.axis{--fill:0}
.vr-trail{position:absolute;left:50%;top:0;width:4px;margin-left:-2px;height:1240px;background:var(--orange);transform-origin:50% 0;transform:scaleY(0);border-radius:2px;pointer-events:none;z-index:1}
.vr-climber{position:absolute;left:50%;top:0;z-index:3;pointer-events:none;transform:translate(-50%,-50%)}
.vr-climber i{display:block;width:18px;height:18px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 6px rgba(242,98,46,.22),0 0 0 14px rgba(242,98,46,.08)}
.vr-climber span{position:absolute;left:24px;top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--navy);color:#fff;font:700 .78rem/1 var(--body,inherit);font-variant-numeric:tabular-nums;padding:6px 9px;border-radius:6px}
.axis .pt{transition:filter .3s}
.axis .pt.on::before{background:var(--orange);box-shadow:0 0 0 6px rgba(242,98,46,.25)}
.axis .pt .alt{font-variant-numeric:tabular-nums}
@media (max-width:900px){
  .vr-trail{left:-2px;margin-left:-1px;height:100%}
  .vr-climber{left:-1px}
  .vr-climber span{left:20px}
}

/* dlaždice – 3D náklon a odlesk */
.bento .tile{transform-style:preserve-3d;will-change:transform}
.vr-glare{position:absolute;inset:0;pointer-events:none;z-index:2;border-radius:inherit;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.22),transparent 45%);opacity:0;transition:opacity .3s}
.bento .tile:hover .vr-glare{opacity:1}
.card img,.bento .tile img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.card:hover img{transform:scale(1.05)}}

/* vláčik – rámček fotky a trasa so zastávkami */
.promo .promo-in{min-height:0;align-items:stretch;gap:0}
.promo .promo-media{position:relative;overflow:hidden;margin:clamp(16px,2.4vw,32px);border-radius:18px;min-height:340px;clip-path:inset(0 0 0 0 round 18px)}
.promo .promo-media img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;will-change:transform}
.vr-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.vr-route{margin:6px 0 4px}
.vr-route .rail{position:relative;height:2px;background:rgba(255,255,255,.18);margin:0 7px;border-radius:2px}
.vr-route .fill{position:absolute;inset:0;background:var(--orange);transform-origin:0 50%;transform:scaleX(0);border-radius:2px}
.vr-route .train{position:absolute;top:50%;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(242,98,46,.25)}
.vr-route ol{list-style:none;margin:0 7px;padding:0;position:relative;height:3.4em}
.vr-route li{position:absolute;top:-6px;max-width:21%;padding-top:22px;font-size:.84rem;line-height:1.3;color:var(--on-navy);transition:color .4s;transform:translateX(-50%);text-align:center}
.vr-route li::before{content:"";position:absolute;top:0;left:50%;width:10px;height:10px;margin-left:-7px;border-radius:50%;background:var(--navy);border:2px solid rgba(255,255,255,.4);transition:border-color .4s,background .4s}
.vr-route li:first-child{transform:translateX(-7px);text-align:left}.vr-route li:first-child::before{left:0;margin-left:0}
.vr-route li:last-child{transform:translateX(calc(-100% + 7px));text-align:right}.vr-route li:last-child::before{left:auto;right:0;margin:0}
.vr-route li.on{color:#fff}.vr-route li.on::before{border-color:var(--orange);background:var(--orange)}
@media (max-width:900px){.promo .promo-media{min-height:260px;margin:16px 16px 0}}
@media (max-width:520px){.vr-route li{font-size:.7rem}}

/* iskry po kliknutí */
.vr-spark{position:fixed;width:6px;height:6px;border-radius:2px;background:var(--orange);pointer-events:none;z-index:120}

/* sneh na zimnej stránke */
.vr-snow{position:absolute;inset:0;pointer-events:none;z-index:1}
.page-hero{position:relative;overflow:hidden}
.page-hero .wrap{position:relative;z-index:2}

/* maska pre SplitText */
.vr-mask{overflow:hidden;display:block}
