@charset "UTF-8";

    :root{
  --bg:#0a0a0a;
  --text:#ffffff; /* Změna na čistě bílou */
  --muted:#cccccc; /* Změna na světlejší šedou */
  --accent:#ff0000; /* Změna na jasně červenou */
  --accent-2:#ff4444; /* Změna na světlejší červenou */
  --card:#1a1a1a; /* Mírně světlejší pozadí karet */
  --shadow:0 20px 60px rgba(0,0,0,.35);
  --radius:8px; /* Volitelně: zmenšení zaoblení pro ostřejší vzhled */
  --max:1200px;
  --nav-h:64px;
}

    /* RESET */
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0; background:var(--bg); color:var(--text);
      font: 400 16px/1.6 'Roboto Mono', ui-monospace, Consolas, monospace;
  letter-spacing:.5px; /* Větší mezery pro drsnější dojem */
  overflow-x:hidden; padding-top:var(--nav-h);
    }
    a{color:inherit; text-decoration:none}
    img{max-width:100%; display:block}
    button{font:inherit}

    /* ANIMATED BACKDROP */
    .backdrop{position:fixed; inset:-20vmax; z-index:-1; filter: blur(80px) saturate(120%);
      background: conic-gradient(from 120deg at 50% 50%, var(--accent), var(--accent-2), #ff3b7f, var(--accent));
      animation: spin 30s linear infinite; opacity:.18; pointer-events:none;}
    @keyframes spin{to{transform: rotate(1turn)}}


section[id] {
    /* Vytvoří odsazení 64px nahoře, které kompenzuje fixní header při scrollování */
    scroll-margin-top:var(--nav-h);
    margin-bottom:50px;
}
@media (max-width: 600px) {
    /* Přepíše výchozí 64px na 80px */
    section[id] {
        scroll-margin-top: 90px;
    }
}

    /* NAV */

    /* Styling pro sociální ikony v navigaci */
.social {
  display: none; /* Skryjeme na mobilech pro zjednodušení */
  gap: 18px;
  align-items: center;

}
/* Aplikujeme na ně stejný hover efekt jako na běžné odkazy */
.social a {
  opacity: .75;
  transition: opacity .2s ease-out;
  display: flex; /* Zajistí přesné centrování SVG */
}
.social a:hover {
  opacity: 1;
}
.social {
    display: flex; /* Zobrazíme ikony pouze na tabletech a desktopech */
  }


    .nav{position:fixed; top:0; left:0; right:0; width:100%; z-index:60; backdrop-filter: none;
      background: linear-gradient(to bottom, rgba(10,10,10,.9), rgba(10,10,10,.5));
      background: var(--bg);
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .nav-inner{max-width:var(--max); margin:auto; display:flex; align-items:center; gap:16px; padding:14px 20px}
    .brand{font-weight:800; letter-spacing:.12em; text-transform:uppercase}
    .brand span{color:var(--accent-2)}
    .nav a{opacity:.85}
    .nav a:hover{opacity:1}
    .spacer{flex:1}
    .menu{display:flex; gap:18px}
    .burger{display:none; border:1px solid rgba(255,255,255,.12); background:#0f0f0f; color:var(--text); border-radius:12px; padding:10px 12px; font-size:1.7rem;}

    /* Mobile menu full-width overlay */
@media (max-width: 820px){
  .menu{display:none}
  .burger{display:inline-flex}
  .menu.open{
    display:flex;
    position:absolute; /* Změna: absolute, aby se menu posouvalo se stránkou */
    top: var(--nav-h); /* Změna: začíná pod navigační lištou */
    left: 0;
    right: 0;
    bottom: auto; /* Změna: výška se řídí obsahem */
    flex-direction:column;
    background:var(--bg);
    border-top:1px solid rgba(255,255,255,.1);
    padding:40px 20px;
    gap:24px;
    text-align:center;
    box-shadow:0 20px 40px rgba(0,0,0,.6);
    animation: slideIn .4s ease both
  }

  .menu.closing{animation: slideOut .4s ease both}
  .menu.open a{font-size:1.4rem; letter-spacing:.08em}

}

    @keyframes slideIn{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
    @keyframes slideOut{from{transform:translateY(0);opacity:1}to{transform:translateY(30px);opacity:0}}

    /* LAYOUT HELPERS */
.wrap{max-width:var(--max); margin:auto; padding:0 clamp(24px, 6vw, 40px)}
.stack{display:grid; gap:28px}
.grid{display:grid; gap:18px}
.grid-2{grid-template-columns:repeat(2, 1fr)} /* Zůstává jen tato funkční definice */
.grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width: 980px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* Multisloupcový layout pro dlouhý text (Manifest) */
@media (min-width: 981px) {
    .manifest-body {
        column-count: 2;
        column-gap: 40px;
    }
}

    /* HERO */
.hero{
  /*padding-top: var(--nav-h);*/
  height: calc(100vh - var(--nav-h));           /* fix: pevná výška */
  /* volitelně modernější jednotka s fallbackem: */
  height: calc(100dvh - var(--nav-h));          /* na nových prohlížečích */
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 0;
}
/* Potlačení bočního paddingu pro sekce s obsahem na celou šířku */
.hero.wrap {
max-width: 100%; /* Povolí roztáhnutí na celou šířku obrazovky */
    padding-left: 0; /* Odstranění bočního odsazení */
    padding-right: 0; /* Odstranění bočního odsazení */
    margin-left: 0; /* Odstranění levého auto-okraje */
    margin-right: 0; /* Odstranění pravého auto-okraje */
}
/* Styly pro slider v HERO sekci */
.hero-slider {
  width: 100%;
  height: 100%;
  position: relative; /* Pro absolutně pozicované obrázky uvnitř */
  overflow: hidden; /* Skryje části obrázků přesahující kontejner */
}

.hero-slider img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* Obrázek pokryje celou plochu bez deformace */
  object-position: center center;
  opacity: 0; /* Standardně skryté */
  transition: opacity 1s ease-in-out; /* Plynulý přechod mezi obrázky */

  transform: scale(1.05);
  transition: opacity 0.7s ease-in-out, transform 4s ease-out;
}

.hero-slider img.active {
  opacity: 1; /* Aktivní obrázek je viditelný */
  transform: scale(1.0);
}

/* Glitch Overlay */
.glitch-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; /* Umožní interakci s podkladem (sliderem) */
  z-index: 10; /* Zajistí, že je nad obrázky */

background: var(--bg);
  opacity: 0.20; /* Zvýšíme trochu průhlednost, aby byl vidět */
  /* Můžete experimentovat s mix-blend-mode pro různé vizuální efekty */
  /*mix-blend-mode: overlay;*/
  /*mix-blend-mode: color-dodge;*/

  /* Animace glitche - bude se opakovat neustále */
  animation:
    glitch-effect 1.4s infinite step-end alternate,
    glitch-shift 0.7s infinite step-end alternate;
}

@keyframes glitch-effect {
  0% {
    transform: translate(0);
    filter: hue-rotate(0deg);
  }
  20% {
    transform: translate(-5px, 5px) scale(1.02); /* Původně -2px, 2px */
    filter: hue-rotate(50deg); /* Původně 20deg */
  }
  40% {
    transform: translate(-10px, -10px) scale(1.03); /* Původně -5px, -5px */
    filter: hue-rotate(100deg); /* Původně 40deg */
  }
  60% {
    transform: translate(8px, 8px) scale(1.04); /* Původně 3px, 3px */
    filter: hue-rotate(150deg); /* Původně 60deg */
  }
  80% {
    transform: translate(0px, -5px) scale(1.02); /* Původně 0px, -2px */
    filter: hue-rotate(200deg); /* Původně 80deg */
  }
  100% {
    transform: translate(0);
    filter: hue-rotate(250deg); /* Původně 100deg */
  }
}

@keyframes glitch-shift {
  0%, 100% { clip-path: inset(0 0 0 0); }
  25% { clip-path: inset(0 0 85% 0); } /* Zvýšení z 75% */
  50% { clip-path: inset(15% 0 0 0); } /* Nový skok */
  75% { clip-path: inset(0 0 0 85%); } /* Zvýšení z 75% */
}

/* Volitelně: Můžete přidat ještě druhý, jemnější overlay pro "šum" */
.glitch-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
 background: repeating-linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.15), /* Použijeme bílou barvu pro šum */
    rgba(255, 255, 255, 0.15) 1px,
    transparent 1px,
    transparent 2px
  );
  opacity: 0.28; /* zvýšíme základní průhlednost šumu */
  animation: flicker 0.3s infinite alternate;
}

@keyframes flicker {
  0% { opacity: 0.1; }
  50% { opacity: 0.2; }
  100% { opacity: 0.1; }
}

    .cta{display:flex; gap:12px; margin-top:26px; flex-wrap:wrap}
    .btn{padding:12px 16px; border-radius:14px; border:1px solid rgba(255,255,255,.14);
      background:linear-gradient(180deg,#151515,#0e0e0e);
      color:var(--text); display:inline-flex; align-items:center; gap:10px; transition:.25s transform, .25s box-shadow, .25s border-color;
    }
    .btn:hover{transform: translateY(-2px); box-shadow: var(--shadow); border-color:rgba(255,255,255,.28)}
    .btn.primary{background:linear-gradient(180deg, var(--accent), #4f2bff); border-color:transparent}

    .marquee{overflow:hidden; border-block:1px solid rgba(255,255,255,.08);
      padding:12px 0; white-space:nowrap; user-select:none; mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
    }
    .marquee-track{display:inline-block; animation: scroll 30s linear infinite}
.marquee b{padding:0 28px; letter-spacing:.15em; text-transform:uppercase; color:var(--text)}
    @keyframes scroll{to{transform: translateX(-50%)}}

 /* ---STREAM --- */
.stream-list {
  display: grid;
  gap: 0; /* Odstraníme mezeru */
  border-top: 1px dashed rgba(255,255,255,.1); /* Horní ohraničení */
}
.stream-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 0; /* Vertikální padding */
    font-size: 1rem;
    color: var(--text);
    background: transparent;
    border-bottom: 1px dashed rgba(255,255,255,.15); /* Dělicí čára */
    border-radius: 0;
}
.stream-logo {
  font-family: 'Roboto Mono', monospace;
  font-weight: 700;
  letter-spacing: .12em;
  width: 50px; /* Pevná šířka pro zarovnání */
  flex-shrink: 0;
}
.stream-name {
  flex-grow: 1;
  margin-left: 20px;
}


  /* --- EVENT-LIVE --- */
.event-list {
  display: grid;
  gap: 0; /* Odstraníme mezeru */
  border-top: 1px dashed rgba(255,255,255,.1); /* Horní ohraničení */
}
.event-item,
.event-item-new {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 0; /* Vertikální padding */
    font-size: 1.2rem;
    background: transparent;
    border-bottom: 1px dashed rgba(255,255,255,.15); /* Dělicí čára */
    border-radius: 0;
}
.event-item-new {
    color: var(--accent); /* Zvýrazněné červenou (Nový event) */
}
.event-item {
    color: var(--text); /* Základní barva textu */
}
.event-date {
  font-family: 'Roboto Mono', monospace;
  font-weight: 700;
  letter-spacing: .12em;
  width: 80px; /* Pevná šířka pro zarovnání */
  flex-shrink: 0;
}
.drop-two {
    font-size: 150%;
    font-weight: 600;
    float: left;
    line-height: 1;
    margin-top: -0.1em; /* Mírný posun nahoru */
    margin-right: 1px;
}
.event-location {
  flex-grow: 1;
  margin-left: 0px; /* Odsazení od data */
}
.event-year {
    /* Základní barvy */
    background-color: var(--text); /* Použije bílou barvu z :root */
    color: var(--bg); /* Použije černou barvu (pozadí) z :root pro text */

    /* Vzhled a rozestupy */
    padding: 10px 15px; /* Vnitřní odsazení */
    border-radius: 4px; /* Lehké zaoblení rohů */
    display: inline-block; /* Důležité: Element se roztáhne jen podle obsahu */

    /* Typografie (volitelné: pro dodatečné zvýraznění) */
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: normal; /* Vypne širší rozteč znaků, pro lepší čitelnost */
}

/* --- ÚPRAVA EVENTS PRO MOBILNÍ ZAŘÍZENÍ (MAX 600PX) --- */
@media (max-width: 600px) {

    /* Vynucení zalomení na nový řádek */
    .event-item,
    .event-item-new {
        flex-wrap: wrap; /* Povolí zalamování flex položek */
        justify-content: flex-start; /* Zarovná položky na začátek */
        padding: 12px 10px; /* Přidáme horizontální padding a snížíme vertikální */
    }

    /* Datum zůstane na prvním řádku */
    .event-date {
        width: auto; /* Zruší pevnou šířku 80px na mobilu, ale stačí k sobě */
        font-size: 1.2rem; /* Mírně zmenšený font pro mobil */
    }

    /* Místo konání se přesune na druhý řádek a zabere celou šířku */
    .event-location {
        flex-basis: 100%; /* Klíčové: zabere 100 % šířky a vynutí zalomení */
        margin-left: 0; /* Odstraní původní odsazení */
        padding-top: 4px; /* Malé svislé odsazení od data */
        flex-grow: 1; /* Musí tam zůstat, aby fungovalo flex-basis */
    }
}

    /* CARDS */
    .card{background:linear-gradient(180deg,#151515,#0f0f0f); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:18px; box-shadow: var(--shadow)}
    .card{background:var(--card); border:1px solid rgba(255,255,255,.08); border-radius:8px; /* Zmenšené zaoblení */ padding:22px; box-shadow: var(--shadow)}
    .card h3{margin:0 0 8px; font-size:1.1rem; letter-spacing:.05em; text-transform:uppercase; color:#efefef}
    .muted{color:var(--muted)}

    /* SECTION HEADS */
    section{padding:80px 0}
    .section-title{display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:24px}
    .section-title h2{
    font-family: Impact, 'Arial Black', sans-serif; /* Nový font */
    margin:0;
    font-size:clamp(28px, 4vw, 42px); /* Větší velikost */
    letter-spacing:.15em; /* Větší mezery */
    text-transform:uppercase
}
    .section-title .line{flex:1; height:1px; background:linear-gradient(90deg, rgba(255,255,255,.12), rgba(255,255,255,0))}

    /* FEATURED MEDIA */
    .media{aspect-ratio: 16/9; border-radius:var(--radius); overflow:hidden; position:relative;
      background: radial-gradient(1200px 600px at 30% 20%, rgba(124,77,255,.25), transparent 40%),
                  radial-gradient(1000px 800px at 70% 60%, rgba(0,255,213,.18), transparent 45%),
                  #0e0e0e;
      border:1px solid rgba(255,255,255,.08);
    }
    .media::after{content:"▶"; position:absolute; inset:auto; bottom:16px; right:16px; font-size:22px; background:#000; border:1px solid rgba(255,255,255,.16);
      width:44px; height:44px; display:grid; place-items:center; border-radius:50%; opacity:.75}

    /* GRID LISTS */
    .tile{padding:16px; border:1px dashed rgba(255,255,255,.1); border-radius:14px}
    .tile h4{margin:0 0 6px}

    /* --- RESPONSIVNÍ VIDEO KONTJNER (16:9) --- */
.responsive-video-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 poměr stran (9 / 16 * 100) */
  height: 0;
  overflow: hidden;
  max-width: 100%;
  margin-top: 15px;
  border-radius: var(--radius); /* Zaoblení rohů, pokud to karta má */
}

.responsive-video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
    /* FOOTER */
    footer{padding:60px 0 40px; color:#cfcfcf}
    .foot{display:flex; gap:20px; flex-wrap:wrap; align-items:center; justify-content:space-between;
      border-top:1px solid rgba(255,255,255,.08); padding-top:22px}

    /* UTIL */
    .tag{display:inline-block; padding:6px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.16); color:#dcdcdc; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem}
    .mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
