html, body { margin:0; padding:0; color:#000; font-family:"Inter",system-ui,sans-serif; background:#fff; }
a{ color:#000; text-decoration:none; } a:hover{ color:#fff; }

.top-bar{ position:fixed; top:0; left:0; right:0; padding:24px; z-index:30; }
.left-title a{ font-size:60px; line-height:1; }

/* Pravý panel */
.right-info{ position:fixed; top:80px; right:50px; text-align:right; z-index:50; font-size:18px; font-weight:600; }
.ri-nav{ display:inline-flex; gap:14px; }
@media (max-width:600px){ .right-info{ top:110px; } }

.extra-info[hidden]{ display:none!important; }
.extra-info{ margin-top:8px; font-size:14px; line-height:1.5; text-align:right; }

/* ABOUT */
.about[hidden]{ display:none!important; }
.about{
  position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
  width:32vw; max-width:58ch;
  font-size:18px; line-height:1.6; text-align:justify;
  z-index:100;
  background:transparent; border:none; padding:0; box-shadow:none;
}
@media (max-width:900px){
  .about{ width:85vw; max-width:none; font-size:16px; line-height:1.5; text-align:left; }
}

/* Scroll */
.page-snap{ height:100dvh; overflow-y:auto; scroll-snap-type:y mandatory; scroll-behavior:smooth; }
@supports (height:100svh){ .page-snap{ height:100svh; } }

/* HERO */
.hero{ position:relative; height:100dvh; scroll-snap-align:start; overflow:hidden; }
.hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* Šipka dolů + skrytí po scrollu */
.scroll-indicator{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%) rotate(45deg);
  width:18px; height:18px; border-right:3px solid #000; border-bottom:3px solid #000;
  opacity:0.7; animation:bounceDown 1.8s infinite ease-in-out; z-index:5;
  transition:opacity .4s ease, visibility .4s ease;
}
.scroll-indicator.hidden{ opacity:0; visibility:hidden; }
@keyframes bounceDown{
  0%,100%{ transform:translateX(-50%) rotate(45deg) translateY(0); opacity:.6; }
  50%{ transform:translateX(-50%) rotate(45deg) translateY(8px); opacity:1; }
}

/* SLIDESHOW */
.slideshow{ position:relative; height:100dvh; scroll-snap-align:start; overflow:hidden; }
.slides,.slide{ position:absolute; inset:0; }
.slide{ display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .6s ease; }
.slide.active{ opacity:1; }

/* Obrázek – DESKTOP (střídání L/R) */
@media (pointer:fine) and (min-width:901px){
  .slide img{ position:absolute; top:50%; transform:translateY(-50%); height:86vh; width:auto; object-fit:contain; pointer-events:none; }
  .page-snap>.slideshow:nth-of-type(odd)  .slide img{ left:0; }
  .page-snap>.slideshow:nth-of-type(even) .slide img{ right:0; left:auto; }
}

/* Obrázek – MOBIL/TABLET: 2 slideshow / obrazovka, bez ořezu */
@media (pointer:coarse), (max-width:900px){
  .slideshow{ height:50svh; }
  @supports not (height:50svh){ .slideshow{ height:50dvh; } }

  .slide img{
    position:static; transform:none; object-fit:contain;
    max-width:100vw; width:auto;
    max-height:calc(50svh - 20px);
  }
  @supports not (height:50svh){ .slide img{ max-height:calc(50dvh - 20px); } }
}

/* Caption – mobil: minimální pruh */
.sl-caption{
  position:absolute; left:50%; bottom:2px; transform:translateX(-50%);
  background:#fff; color:#000; padding:1px 6px;
  text-align:center; z-index:3; pointer-events:none; border-radius:2px;
  max-width:calc(100vw - 32px);
}
.sl-caption h2{ margin:0; font-size:15px; font-weight:600; line-height:1.2; white-space:nowrap; }
.sl-caption h2 small{ font-size:.7em; font-weight:500; }

/* --- DOLADĚNÍ PRO NEJMENŠÍ MOBILY: o chloupek víc místa pro titulek --- */
@media (max-width:380px){
  .sl-caption{ bottom:6px; padding:2px 8px; }
  .slide img{
    max-height:calc(50svh - 34px);
  }
  @supports not (height:50svh){
    .slide img{ max-height:calc(50dvh - 34px); }
  }
}

/* Caption – desktop: VERTIKÁLNĚ + VĚTŠÍ (o ~75 %) */
@media (pointer:fine) and (min-width:901px){
  .sl-caption{
    top:50%; bottom:auto; transform:translateY(-50%);
    background:transparent; padding:0; writing-mode:vertical-rl; text-orientation:mixed;
  }
  .sl-caption h2{
    font-size:38px;   /* zvětšeno o ~75 % */
    line-height:1.1;
  }
  .page-snap>.slideshow:nth-of-type(odd)  .sl-caption{ right:24px; left:auto; }
  .page-snap>.slideshow:nth-of-type(even) .sl-caption{ left:24px; right:auto; transform:translateY(-50%) rotate(180deg); }
}

/* Klikací zóny – dopočítává JS přesně na obrázek */
.nav-zone{ position:absolute; z-index:10; width:0; height:0; left:0; top:0; background:transparent; cursor:none; }

/* Šipky na dotykových zařízeních */
@media (pointer:coarse), (max-width:900px){
  .nav-zone::after{
    content:''; position:absolute; top:50%; transform:translateY(-50%);
    width:16px; height:16px; border-top:2px solid #000; border-right:2px solid #000; opacity:0.75;
  }
  .left-zone::after{ left:10px; transform:translateY(-50%) rotate(-135deg); }
  .right-zone::after{ right:10px; transform:translateY(-50%) rotate(45deg); }
}

/* Vlastní kurzor (desktop) */
#custom-cursor{
  position:fixed; width:44px; height:44px; color:#000;
  background-image:
    linear-gradient(to right,transparent calc(50% - 3px),currentColor calc(50% - 3px),currentColor calc(50% + 3px),transparent calc(50% + 3px)),
    linear-gradient(to bottom,transparent calc(50% - 3px),currentColor calc(50% - 3px),currentColor calc(50% + 3px),transparent calc(50% + 3px));
  background-repeat:no-repeat;
  transform:translate(-50%,-50%);
  pointer-events:none; z-index:9999; opacity:0; transition:opacity .2s ease, color .05s ease;
}
@media (pointer:coarse){ #custom-cursor{ display:none!important; } }

/* Copyright */
.copyright[hidden]{ display:none!important; }
.copyright{ position:fixed; right:20px; bottom:20px; font-size:14px; z-index:60; }