/* Reset stylů */
html, body {
    margin: 0;
    padding: 0;
    font-family: 'Montserrat', sans-serif;
    line-height: 1.5;
    font-size: 16px;
    color: #131313;
    background-color: #dbdbdb;
    position: relative;
    z-index: 1;
}

.background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    pointer-events: none; /* Neinterferuje s klikáním */
    background-image: 
    radial-gradient(circle at 20% 30%, #b4ddff 0%, transparent 25%),
    radial-gradient(circle at 70% 60%, #ffaff2 0%, transparent 30%),
    radial-gradient(circle at 80% 10%, #ffdd8f 0%, transparent 20%),
    radial-gradient(circle at 20% 110%, rgb(223, 175, 255) 0%, transparent 20%);
    background-repeat: no-repeat;
    background-size: cover;
}

.content {
    position: relative;
    z-index: 1;
    padding: 2rem;
}


/* Hlavní kontejner */
#kontejner_vystredeny {
    flex-direction: column;
    align-items: center;
    width: 95%;
    max-width: 1200px;
    min-height: 100lvh;
    margin: 0 auto;
    padding: 20px;
    background-color: rgba(245, 245, 245, 0.6);
    box-shadow: 0 0 20px rgba(151, 151, 151, 0.5);
    border-radius: 4px;
}

#horni_pruh {
    display: flex;
    flex-direction: row; /* Uspořádání do řádku */
    justify-content: space-between; /* Logo vlevo, přihlášení uprostřed, motivy vpravo */
    align-items: center; /* Zarovnání na výšku */
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
    height: 100px;
}

.motiv a {
    padding: 0;
    border-radius: 5px;
    background-color: #e5c145;
    text-decoration: none;
    transition: background 0.3s, transform 0.1s;
    background-size: contain;
    display: inline-block;
    width: 48px;
    height: 48px;
}

.motiv a:hover {
    background-color: #c7a93b;
    transform: scale(1.05); /* Jemné zvětšení při najetí */
}


#menu {
    display: flex;
    justify-content: center;
}

#menu ul {
    list-style: none;
    display: flex;
    gap: 15px;
    padding: 0;
    flex-wrap: wrap;
    justify-content: center;
}

#menu li {
    margin: 0;
}

#menu a {
    display: inline-block;
    padding: 8px 15px;
    border-radius: 5px;
    background-color: #e5c145;
    color: #000000;
    text-decoration: none;
    transition: background 0.3s, transform 0.1s;
}

#schema {
  text-align: right;
  padding-bottom: 10px;
  font-size: 15pt;
  
}

#menu a:hover {
    background-color: #c7a93b;
    transform: scale(1.05); /* Jemné zvětšení při najetí */
}

/* Hamburger menu */
#menu-toggle {
    display: none;
    font-size: 24px;
    cursor: pointer;
    color: #1f1f1f;
    text-align: left;
}

/* Odkaz v .logo (logo) */
#horni_pruh .logo a {
    display: inline-block;
    padding: 0;
}

.logo {
    width: 120px;
    height: 120px; /* Nastavil jsem menší výšku, aby to sedělo */
    background-size: contain; /* Logo se vejde do prostoru */
    background-repeat: no-repeat;
    background-position: center;
}

/* 📌 Motiv světlý */
.svetly .logo {
    background-image: url("logo_jindrich_bank_bez_pozadí.png");
}

.motiv .slunce{
    background-image: url("/Svetly_slunce.png");
}

.motiv .mesic{
    background-image: url("/Tmavy_mesic.png");
}

/* Přihlášení uprostřed */
.prihlaseni {
    flex: 1; /* Zabere dostupné místo mezi logem a motivem */
    text-align: center; /* Zarovnání na střed */
}


/* Změna motivu vpravo */
.motiv {
    display: flex;
    gap: 10px;
    margin-left: 5px;
    width: 150px;
    height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    justify-content: flex-end;
}

.footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(45deg, #eee 25%, #ddd 25%, #ddd 50%, #eee 50%, #eee 75%, #ddd 75%);
    color: #444;
    padding: 15px 30px;
    flex-wrap: wrap;
    font-size: 14px;
    margin-top: 10px; /* Přidá mezeru nad panelem */
}
  
  .footer-left,
  .footer-center,
  .footer-right {
    display: flex;
    align-items: center;
  }
  
  .footer-logo {
    height: 60px;
    margin-right: 10px;
  }
  
  .footer-icon {
    height: 50px;
    margin-left: 10px;
    transition: transform 0.2s ease;
  }
  
  .footer-icon:hover {
    transform: scale(1.1);
  }
  
  .ad-space {
    width: 200px;
    height: 50px;
    background-color: #c2c2c2;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #4b4b4b;
    font-style: italic;
    border: 1px dashed #dfdfdf;
  }
  
  .toplist-container {
    margin-left: 20px;
  }
  
  .toplist-container a img {
    width: 88px;
    height: 60px;
  }
  
    .breadcrumb-link {
        text-decoration: none;
        color: #525252;
    }
    .breadcrumb-link:hover {
        text-decoration: underline;
        color: #222222;
    }
    .breadcrumb-span {
        color: #7c7c7c;
    }

  /* Responsivní úprava */
  @media screen and (max-width: 600px) {
    .footer {
      flex-direction: column;
      text-align: center;
    }
  
    .footer-left, .footer-center, .footer-right {
      justify-content: center;
      margin: 5px 0;
    }
  
    .ad-space {
      width: 100%;
    }
  
    .toplist-container {
      margin-left: 0;
    }
  }

    .cookiesodkaz {
        color: #3b3b3b;
        text-decoration: none;
    }

    .cookiesodkaz:hover {
        text-decoration: underline;
        color: #111111;
    }

/*CMG_MATERIÁLY--------------------------------------------------------------------------------*/

/* Kontejner pro vyhledávání */
#searchForm {
    display: flex;
    flex-wrap: wrap; /* Pro malé obrazovky */
    gap: 10px;
    justify-content: center;
    margin-bottom: 20px;
}

/* Vyhledávací a výběrová políčka */
#searchInput, #trida, #predmet {
    background-color: #ffffff;
    color: #2e2e2e;
    border: 1px solid #b4b4b4;
    padding: 10px;
    border-radius: 8px;
    font-size: 16px;
    outline: none;
}

/* Styl pro placeholder */
#searchInput::placeholder {
    color: #9b9b9b;
}

/* Výběrová políčka */
select {
    appearance: none;
    cursor: pointer;
}

/* Kontejner s výsledky */
#results {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
}

/* Karta pro každý výsledek */
.result-item {
    background-color: #ffffff;
    border: 1px solid #b4b4b4;
    border-radius: 12px;
    padding: 15px;
    width: 300px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s, box-shadow 0.2s;
}

/* Efekt při najetí */
.result-item:hover {
    transform: translateY(-5px);
    box-shadow: 0px 6px 12px rgba(255, 255, 255, 0.1);
}

/* Název výsledku */
.result-item a {
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    display: block;
    margin-bottom: 5px;
    white-space: normal;           /* povolí běžné zalamování řádků */
    overflow-wrap: break-word;     /* zalomí dlouhá slova, pokud je potřeba */
    word-break: break-word;        /* pro starší prohlížeče */
}

/* Meta informace (tags + datum) */
.result-meta {
    position: relative;
    font-size: 15px;
    color: #686868;
    border-top: 1px solid #b4b4b4;
    padding-top: 10px;
    margin-bottom: 10px;
}

h2 {
    opacity: 0;
    transform: translateY(-10px);
    animation: fadeIn 1s ease-out forwards, colorChange 3s linear infinite;
    text-align: center;
    font-size: 40px; /* Zvýšení velikosti písma */
    color: transparent;
    background: linear-gradient(to right, rgb(86, 86, 255), rgb(192, 42, 192));
    background-clip: text; /* Možná není potřeba, nebo zkus bez tohoto */
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes colorChange {
    0% {
        color: rgb(74, 74, 253);
    }
    50% {
        color: rgb(192, 42, 192);
    }
    100% {
        color: rgb(74, 74, 253);
    }
}


/* Animace pro fade-in efekt */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Styl pro indikátor načítání */
#statusMessage {
    text-align: center;
    font-size: 18px;
    color: #999;
    margin-bottom: 10px;
}

/* Efekt pro selecty při změně */
.searchInput:focus, .vyberInput:focus{
    border-color: #ff87ff;
    box-shadow: 0px 0px 8px rgb(255, 109, 255);
    transition: 0.3s;
}

/* Podtitulek */
.subheading {
    font-size: 20px; /* Velikost písma */
    font-weight: normal; /* Normální tloušťka písma */
    color: #4e4e4e; /* Šedá barva textu */
    text-align: center; /* Zarovnání na střed */
    margin-top: 10px; /* Mezera nad podtitulem */
    margin-bottom: 10px; /* Mezera pod podtitulem */
    font-style: italic; /* Kurzíva pro zvýraznění */
}

/* Podtitulek s animací pro plynulé zobrazení */
.subheading-animated {
    opacity: 0;
    transform: translateY(-10px);
    animation: fadeInUp 1s ease-out forwards;
}

/* Animace pro plynulé zobrazení */
@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Varovací lišta s textem */
.alert-bar {
    text-align: center; /* horizontální středění */
    padding: 10px 20px; /* Okraje pro lepší vzhled */
    color: rgb(184, 47, 47); /* Barva textu */
    font-size: 16px; /* Velikost písma */
    border-radius: 12px; /* Zaoblené rohy */
    font-weight: bold; /* Tučné písmo */
    margin-bottom: 20px;
    border: 3px solid #9b2020; /* Červené okraje */
    z-index: 5;
    width: auto; /* Šířka bude závislá pouze na obsahu textu */
}


/* Odkaz v rámci varovací lišty */
.alert-bar a {
    color: #a71919; /* Barva odkazu */
    text-decoration: underline; /* Podtržení odkazu */
}

.alert-bar a:hover {
    color: #a30000; /* Barva odkazu při najetí */
}

.tag-text {
    display: inline-block; /* Umožní nastavit padding a zaoblené rohy */
    padding: 5px 12px; /* Okraje kolem textu */
    border-radius: 20px; /* Zaoblené rohy - vytvoří protáhlý kruh */
    font-size: 14px; /* Velikost textu */
    font-weight: bold; /* Tučný text */
    margin-right: 6px; /* Mezera mezi jednotlivými tagy */
    white-space: nowrap; /* Zamezí zalamování textu */
    margin: 2px;
}

.tag-container {
    position: relative;
    max-width: 80%;
}

.rounded-input {
    background-color: #ffffff; /* Tmavé pozadí */
    color: rgb(0, 0, 0); /* Bílé písmo */
    border: 2px solid #b9b9b9; /* Světle šedý rámeček */
    border-radius: 20px; /* Zaoblené rohy */
    padding: 12px 20px; /* Lepší vzhled */
    font-size: 16px; /* Větší text */
    width: 250px; /* Fixní šířka */
    height: auto; /* Automatická výška */
    appearance: none; /* Odstranění defaultního stylu pro některé prohlížeče */
    margin-bottom: 20px; /* nastaví mezeru pod prvkem */
}

.rounded-input:focus {
    background-color: #eeeeee; /* Tmavší pozadí při zaměření */
    border-color: #999999;
    outline: none;
}
/* ___________________________________________________________________slovicka_uvod */

#search-container {
    display: flex; /* Aktivuje Flexbox */
    justify-content: space-between; /* Rozmístí je rovnoměrně */
    gap: 20px; /* Mezera mezi inputy */
    max-width: 100%; /* Maximální šířka kontejneru */
    margin: 0 auto; /* Centrování kontejneru */
    padding: 20px 0; /* Padding pro vizuální oddělení od ostatního obsahu */
}

#search1, #search2 {
    padding: 12px;
    font-size: 16px;
    border: 2px solid #89b4fa;
    border-radius: 5px;
    background-color: #2627334b;
    color: #e9efff;
    text-align: center;
    width: 48%; /* Nastavení šířky tak, aby se vešly vedle sebe */
    max-width: 400px; /* Omezit maximální šířku */
}

#search1 {
    flex: 1; /* Povolit šířce první položky, aby se roztáhla dle potřeby */
}

#search2 {
    flex: 1; /* Povolit šířce druhé položky, aby se roztáhla dle potřeby */
}

#search1::placeholder {
    color: #bbbbbb;
    opacity: 1;
  }

.result1-item {
    background: #d4d7ff;
    padding: 15px;
    margin: 10px auto;
    width: 90%;
    max-width: 500px;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3);
    transition: background 0.3s;
    border-left: 5px solid #498efc;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between; /* Umožní zarovnání prvků na kraje */
    color: #1a1a1a;
    overflow: hidden;
}
.result1-item:hover {
    background-color: #c3c9ff;
}

/* Pozadí podle pokroku */
.result1-item::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
    width: var(--progress, 0%);
    background-image: 
        repeating-linear-gradient(
            -45deg,
            rgba(43, 75, 143, 0.356),
            rgba(103, 255, 32, 0) 30px,
            rgba(0, 119, 255, 0.01) 30px,
            rgba(0, 255, 0, 0.01) 60px
        );
    clip-path: polygon(0 0, 100% 0, calc(100%) 100%, 0% 100%);
    z-index: 0;
    transition: width 0.5s ease;
}

.result1-item * {
    position: relative;
    z-index: 1;
}
.details {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out, padding 0.4s;
    text-align: left;
    background: #e2e5ff6e;
    padding: 0px 10px;
    border-radius: 5px;
    width: 100%;
    margin-top: 10px;
    position: relative;
}
.details.show {
    max-height: 300px;
    padding: 10px;
}
.details p {
    margin: 5px 0;
}
.flag {
    width: 40px; /* Trochu zvětšíme */
    height: 25px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 3px;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
}

.language-bg {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100px;
    height: 100px;
    opacity: 0.3;
    background-size: cover;
    background-position: bottom right;
    border-radius: 10px;
}
.btn1 {
    display: inline-block;
    padding: 10px 15px;
    margin-top: 10px;
    font-size: 16px;
    background: linear-gradient(45deg, #89b4fa, #74c7ec);
    color: #ffffff;
    font-weight: bold;
    text-decoration: none;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
}
.btn1:hover {
    background: linear-gradient(45deg, #74c7ec, #89b4fa);
    transform: scale(1.05);
}

/* Styl pro zablokované tlačítko */
.btn1:disabled {
    background: #98a2ca; /* Šedivá barva */
    color: #454c6e; /* Tmavší šedá pro text */
    cursor: not-allowed;
    transform: none; /* Zakáže zvětšování */
}

.hero h1 {
    font-size: 2.5em;
    margin-bottom: 20px;
  }

  .changing-word-wrapper {
    display: inline-block;
    position: relative;
    height: 1.4em;
    overflow: hidden;
    vertical-align: bottom;
    width: 360px;
    text-align: left;
  }

  .changing-word {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    transform: translateY(100%);
    transition: transform 0.6s ease, opacity 0.6s ease;
    font-weight: bold;
    font-size: 50px;
    width: 100%;
  }

  .changing-word.visible {
    opacity: 1;
    transform: translateY(0);
  }

  .changing-word.exit {
    opacity: 0;
    transform: translateY(-100%);
  }

/* Barvičky pro jednotlivá slova */
.blue {
color: #42bcf5;
}

.green {
color: #6cce71;
}

.yellow {
color:rgb(253, 202, 63);
}

.purple {
color:rgb(221, 84, 84);
}    

/* zbytek stránky */

.hero {
padding: 80px 20px;
text-align: center;
border-bottom: 2px solid #4fc3f7;
}

.hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero-content h1 {
font-size: 2.8rem;
color:rgb(255, 255, 255);
margin-bottom: 15px;
font-size: 50px;
}

.hero-content p {
font-size: 1.2rem;
margin-bottom: 30px;
}

section {
padding: 60px 20px;
max-width: 800px;
margin: 0 auto;
}

section h2 {
text-align: center;
margin-bottom: 25px;
color: #81d4fa;
font-size: 1.8rem;
}

section ul {
list-style: none;
padding-left: 0;
}

section ul li {
padding: 10px 0;
font-size: 1.1rem;
display: flex;
align-items: center;
gap: 10px;
justify-content: space-between;
}

.features {
background: linear-gradient(135deg,rgb(236, 236, 236),rgb(206, 206, 206));
padding: 2rem;
border-radius: 1rem;
width: 30%;
min-width: 250px;
margin: 20px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
color: #0f0f0f;
transition: transform 0.3s ease;
}

.features:hover {
transform: scale(1.02);
}

.featurescelek {
  display: flex;
  flex-wrap: wrap; /* <<< Tohle je klíčové */
  justify-content: space-evenly;
}


.discordslovicka {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-image: url("/fotky/discordtapeta.jpg");
  background-size: cover;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
  color: #e6e6e6;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
  position: relative; /* Umožní umístit pseudo-element nad obrázek */
}

.searchcviceni {
background: linear-gradient(90deg, #8282d1, #5d7bac, #8282d1);
padding: 2rem;
border-radius: 1rem;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
color: #ffffff;
transition: transform 0.3s ease;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;

/* Nové řádky: mezera nad a pod */
margin-top: 1.5rem;
margin-bottom: 2.3rem;
}

.features3 {
    background: linear-gradient(120deg, #8282d1, #5d7bac, #8282d1);
    padding: 2rem;
    border-radius: 1rem;
    width: 30%;
    min-width: 250px;
    margin: 20px;
    color: white;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
    transition: transform 0.3s ease;
    position: relative;
}

/*_____________________________________________________________________________________cviceni.php*/

.data-card {
    position: relative;
    background: linear-gradient(90deg, #8c8cca, #6f86aa, #7f7fac);
    background-size: 200% 100%;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    color: #ffffff;
    animation: waveEffect 10s infinite linear; /* Animace pro vlny */
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.zakladni_informace {
    min-width: 300px;
    width: 40%;
}

.tlacitka_informace {
    min-width: 300px;
    display: flex;
    flex-wrap: wrap; /* důležité */
    overflow: hidden; /* nebo auto, podle potřeby */
    justify-content: center;
}

@keyframes waveEffect {
    0% {
        background-position: 100% 0;
    }
    50% {
        background-position: 0 0;
    }
    100% {
        background-position: 100% 0;
    }
}

.data-card h2 {
    color: #ffffff; /* Světle modrá pro titulek */
    font-size: 1.5em;
}

.data-card p {
    font-size: 1em;
}

#loading {
    text-align: center;
    margin: 20px auto; /* Vycentrování */
}

.loader {
    border: 5px solid #d3d3d3; /* Světle šedé pozadí */
    border-top: 5px solid #007bff; /* Modrá barva */
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
    display: inline-block;
    margin-bottom: 10px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


/* 📌 Media Queries pro mobilní zobrazení */
@media (max-width: 768px) {
    body {
        font-size: 14px;
    }

    #kontejner_vystredeny {
        width: 93%;
        padding: 10px;
    }

    /* Navigace na mobilu */
    #menu {
        position: absolute;
        left: 10px; /* Změněno z right na left */
        top: 140px;
        background: #dadada;
        padding: 10px;
        border-radius: 10px;
        display: none; /* Skrýváme menu na začátku */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        z-index: 10;
    }
    
    #menu ul {
        display: flex;       /* Flexbox pro lepší ovládání */
        flex-direction: column; /* Zajistí, že se položky zobrazí pod sebou */
        list-style: none;
        padding: 0;
        margin: 0;
        gap: 5px; /* Volitelné — přidá mezery mezi položkami */
        z-index: 10;
    }    

    #menu li {
        display: block; /* Zajistí, že každý <li> bude blokový prvek */
        z-index: 10;
    }    

    #menu a {
        display: block; /* Změna z inline-block na block */
        padding: 10px 15px; /* Volitelně upravit padding pro lepší čitelnost */
        border-radius: 5px;
        background-color: #ffffff;
        color: #222222;
        text-decoration: none;
        transition: background 0.3s;
        z-index: 10;
    }    

    /* Zobrazit hamburger menu */
    #menu-toggle {
        margin: 10px;
        margin-left: 10px;
        display: flex;
    }

    /* Když je menu otevřené */
    #menu.active {
        display: block; /* Zobrazení menu při aktivaci */
    }

    #menu a:hover {
        background-color: #dbc548;
    }

    .prihlaseni {
        flex-direction: column; /* Tlačítka se postaví pod sebe */
    }

    .prihlaseni a {
        margin-bottom: 8px; /* Menší mezera mezi tlačítky */
    }

    .prihlaseni a:last-child {
        margin-bottom: 0; /* Zajistí, že poslední tlačítko nebude mít spodní mezeru */
    }
}

#loading { text-align: center; font-size: 18px; display: block; }
#dataContainer { display: none; }

.lessons-container {
display: flex;
flex-wrap: wrap;
gap: 20px; /* Větší mezera mezi cvičeními */
width: 100%; /* Zajistí, že kontejner využije dostupný prostor */
justify-content: flex-start; /* Zarovnání vlevo */
}


.lesson {
background: linear-gradient(120deg,rgb(158, 158, 250), #82b0ec);
background-size: 200% 100%;
border-radius: 6px;
padding: 12px;
width: 25%; /* Pevná šířka, aby se lekce skládaly vedle sebe */
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
color: #1d1d1d;
margin: 7px;
}

@keyframes waveEffect {
0% { background-position: 100% 0; }
50% { background-position: 0 0; }
100% { background-position: 100% 0; }
}

.lesson h20 {
color:rgb(2, 0, 104);
font-size: 1.3em;
margin-bottom: 8px;
}

.word-list {
list-style: none;
padding: 0;
font-size: 0.9em;
}

.word-list li {
background:rgba(255, 255, 255, 0.534);
padding: 6px;
margin: 4px 0;
border-radius: 4px;
}


.lesson button:hover {
background-color: #5f9bff;
}

.progress-container1 {
width: 100%;
height: 6px;
border-radius: 4px;
margin-top: 6px;
position: relative;
overflow: hidden;
display: block;
}

.progress-bar1 {
height: 100%;
border-radius: 4px;
transition: width 0.3s ease-in-out;
}

.word-item {
position: relative;
}

.word-item .word {
font-weight: bold;
}
.word-item .translation1 {
color: #666666;
}

.options-menu {
display: none;
position: absolute;
top: 100%;
right: 0;
background-color:rgb(44, 44, 44);
border: 1px solid rgb(163, 163, 163);
border-radius: 4px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.52);
z-index: 10;
}

.word-item:hover .options-button {
display: inline-block;
}

.options-button {
display: none;
cursor: pointer;
font-weight: bold;
right: 8px; /* Tímto se tlačítko umístí na pravou stranu */
}

.options-menu button {
background: none;
border: none;
padding: 8px 12px;
cursor: pointer;
width: 100%;
text-align: left;
color: #e0e0e0;
}

.options-menu button:hover {
background-color:rgba(55, 68, 85, 0.52);
}


.card2-button {
    position:relative;
    width: 150px;
    height: 150px;
    margin: 20px;
    border: 2px solid #e6e6e6; /* Šedý obrys */
    border-radius: 16px;       /* Zaoblené rohy */
    background-color: transparent; /* Průhledné pozadí */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.card2-button:hover {
    transform: scale(1.1);
}

.button-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    
}

.card2 {
    width: 50px;
    height: 80px;
    border: 2px solid #e6e6e6;
    border-radius: 8px;
    background-color: transparent;
    transform: perspective(400px) rotateY(20deg);
    transition: transform 0.6s ease;
}

.button-container:hover .card2 {
    transform: perspective(400px) rotateY(370deg);
}

.text {
    margin-top: 8px;
    color:#e6e6e6;
    font-weight: bold;
    font-size: 16px;
}

.card3-button {
    position:relative;
    width: 150px;
    height: 150px;
    margin: 20px;
    border: 2px solid #e6e6e6; /* Šedý obrys */
    border-radius: 16px;       /* Zaoblené rohy */
    background-color: transparent; /* Průhledné pozadí */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.card3-button:hover {
    transform: scale(1.1);
}

.card3 {
    width: 45px;
    height: 70px;
    border: 2px solid #e6e6e6;
    border-radius: 2px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
    color: gray;
    overflow: hidden;
    transform: rotate(-5deg); /* Naklonění doleva o 5 stupňů */
}

.card3::before {
    content: "✏️"; /* Symbol tužky */
    position: absolute;
    font-size: 20px;
    top: 10px;
    left: 10px;
    opacity: 1;
    transition: opacity 0.2s ease;
    transform: rotate(-5deg); /* Naklonění doleva o 5 stupňů */
}

.card3::after {
    content: "✔️"; /* Symbol fajfky */
    position: absolute;
    font-size: 30px;
    opacity: 0;
    transition: opacity 0.2s ease;
    transform: rotate(-5deg); /* Naklonění doleva o 5 stupňů */
}

.button-container:hover .card3::before {
    opacity: 0;
}

.button-container:hover .card3::after {
    opacity: 1;
}

.card4-button {
    position:relative;
    width: 150px;
    height: 150px;
    margin: 20px;
    border: 2px solid #e6e6e6; /* Šedý obrys */
    border-radius: 16px;       /* Zaoblené rohy */
    background-color: transparent; /* Průhledné pozadí */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.card4-button:hover {
    transform: scale(1.1);
}

.card4 {
    background-image: url('fotky/kurzor.png');
    background-size: contain; /* Obrázek se přizpůsobí rozměrům */
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    right: 5px;
    opacity: 1;
    transition: opacity 0.2s ease;
    filter: grayscale(100%);
    transform: rotate(-5deg);
    width: 80px;  /* Nastaví šířku obrázku */
    height: 80px; /* Nastaví výšku obrázku */
}

.card4:hover {
    background-image: url('fotky/kurzorklikajici.png');
    background-size: contain; /* Obrázek se přizpůsobí rozměrům */
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    right: 6px;
    opacity: 1;
    transition: opacity 1s ease;
    filter: grayscale(100%);
    transform: rotate(-5deg);
    width: 80px;  /* Nastaví šířku obrázku */
    height: 80px; /* Nastaví výšku obrázku */
}

/* Umožní lepší zobrazení na mobilních zařízeních */
@media (max-width: 600px) {
/* Pro zajištění lepšího rozložení na malých obrazovkách */
.lesson {
    width: 100%; /* Lekce zabírá celou šířku */
    padding: 16px; /* Větší vnitřní okraje pro mobilní verzi */
}

/* Možná úprava pro tlačítka a seznamy */
.word-item {
    margin-bottom: 12px; /* Větší mezera mezi položkami */
}

.word-list li {
    padding: 8px; /* Více prostoru pro mobilní zobrazení */
}

.options-button {
display: inline-block; /* tři tečky se zobrazí vždy */
}

.word-item .word {
font-size: 20px;
}

.word-item .translation1 {
font-size: 16px;
}
}

.lesson-block {
  margin-bottom: 16px;
  border-radius: 5px;
  overflow: hidden;
  width: 100%;
}

.lesson-toggle {
  width: 80%;
  border: none;
  padding: 10px;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
  background-color: #ffffff00;
}

.lesson-content {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
    justify-content: center;
}

.lesson-block.color-1 {
  border: 4px solid #75b477; /* zelená */
}

.lesson-block.color-1 .lesson-toggle{
  color: #75b477;
}

.lesson-block.color-1 .btn1{
  background: #75b477;
}

.lesson-block.color-2 {
  border: 4px solid #e74a7e; /* růžová */
}

.lesson-block.color-2 .lesson-toggle{
  color: #e74a7e;
}

.lesson-block.color-2 .btn1{
  background: #e74a7e;
}

.lesson-block.color-3 {
  border: 4px solid #f36e65; /* červená */
}

.lesson-block.color-3 .lesson-toggle {
  color: #f36e65;
}

.lesson-block.color-3 .btn1{
  background: #f36e65;
}

.lesson-block.color-4 {
  border: 4px solid #faad3b; /* oranžová */
}

.lesson-block.color-4 .lesson-toggle{
  color: #faad3b;
}

.lesson-block.color-4 .btn1{
  background: #faad3b;
}

.lesson-block.color-5 {
  border: 4px solid #5966b1; /* modrá */
}

.lesson-block.color-5 .lesson-toggle{
  color: #5966b1;
}

.lesson-block.color-5 .btn1{
  background: #5966b1;
}

.hornipruh1 {
 display: flex;
 gap: 10px;
 justify-content: center;
}

.hornipruh1:hover {
  background-color: #2424240e;
}

/*cviceni-start.php-------------------------------------------------------------------------------*/

    /* Kontejner pro celý obsah cvičení */
    #exercise-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 20px;
        border-radius: 10px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
        margin-top: 20px;
    }

    /* Oblast pro zpětnou vazbu */
    #feedback {
        color: #000000;
        font-size: 18px;
        font-weight: bold;
        margin-top: 15px;
    }

    /* Styl pro páry slovíček */
    .pair-container {
        display: flex;
        gap: 20px;
        justify-content: center;
        margin-top: 20px;
    }

    .column {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .pair-item {
        background-color: #ffffff;
        color: #222222;
        border-radius: 5px;
        padding: 10px;
        text-align: center;
        cursor: pointer;
        font-size: 18px;
        transition: background-color 0.3s ease;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    }

    /* Správně a špatně označené páry */
    .correct {
        background-color: #4caf50;
        color: white;
    }

    .incorrect {
        background-color: #f44336;
        color: white;
    }

    .selected {
        background-color: #d4c431;
        color: black;
    }

    .disabled {
        cursor: not-allowed;
    }

    /* Formulář pro zadání odpovědi */
    .input-cviceni-start {
        padding: 10px;
        border-radius: 5px;
        border: 1px solid #cfcfcfa2;
        background-color: #ffffff6c;
        color: rgb(34, 34, 34);
        font-size: 16px;
        width: 80%;
        margin-top: 15px;
    }

    .input-cviceni-start:focus {
        outline: none;
        border-color: #0066cc;
    }

    /* Když se zobrazuje tlačítko pro spuštění cvičení */
    #spustit-cviceni {
        display: block;
        margin: 20px auto;
    }
    input.correct {
    animation: correctAnimation 0.5s forwards;
    }

    input.incorrect {
        animation: incorrectAnimation 0.5s forwards;
    }

    .progress-container {
        width: 100%;
        height: 20px;
        background-color: #cccccc;
        border-radius: 10px;
        overflow: hidden;
        margin: 15px 0;
    }

    .progress-bar {
        height: 100%;
        background-color: #4caf50;
        text-align: center;
        line-height: 20px;
        color: white;
        border-radius: 10px;
        transition: width 0.5s ease;
    }

.similar-list {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.word-wrapper2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    cursor: pointer;
    border-radius: 12px;
    border: 3px solid #7a9fdb;
    padding: 10px 20px;
    box-shadow: 0 0 15px rgba(80, 137, 163, 0.5);
    transition: transform 0.2s ease;
    flex-wrap: wrap;
}

.word-wrapper2:hover {
    transform: scale(1.05);
}

.word-box2 {
    background: linear-gradient(45deg, #789eda, #69b0d1);
    color: #222d3f;
    font-size: 20px;
    font-weight: bold;
    padding: 10px 20px;
    border-radius: 8px;
}

.translation2 {
    font-size: 15px;
    color:rgb(223, 223, 223);
}

.word-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    cursor: pointer;
    border-radius: 12px;
    border: 3px solid #89b4fa;
    padding: 10px 20px;
    box-shadow: 0 0 15px rgba(80, 137, 163, 0.5);
    transition: transform 0.2s ease;
    flex-wrap: wrap;
}

.word-wrapper:hover {
    transform: scale(1.05);
}

.word-box {
    background: linear-gradient(45deg, #89b4fa, #74c7ec);
    color: #222d3f;
    font-size: 32px;
    font-weight: bold;
    padding: 10px 20px;
    border-radius: 8px;
}

.translation {
    font-size: 20px;
    color:rgb(255, 255, 255);
}

.word-image {
    max-width: 100%;
    max-height: 200px;
    border-radius: 8px;
    margin-top: 10px;
}

.word-description {
    font-style: italic;
    margin-top: 5px;
    color: #c6d3e2;
}

/* TOAST NOTIFIKACE – SVĚTLÉ ZOBRAZENÍ */
.toast {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  width: 95%;
  max-width: 960px;
  background-color: #f9f9f9;
  color: #111;
  border-radius: 32px 32px 0 0;
  overflow: hidden;
  box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.15);
  opacity: 0;
  transition: transform 0.6s ease, opacity 0.6s ease;
  z-index: 9999;
}

/* Barevný horní pruh */
.toast-top-border {
  height: 6px;
  width: 100%;
  background-color: transparent;
  transition: background-color 0.5s ease;
}

/* Zvlněný horní tvar */
.toast-shape {
  width: 100%;
  height: 20px;
  background-size: 33.3% 100%;
  background-repeat: no-repeat;
  background-position: top;
}

/* Zobrazit */
.toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Stavy */
.toast.success .toast-top-border {
  background-color: #22c55e;
}
.toast.fault .toast-top-border {
  background-color: #ef4444;
}

.toast.success {
  animation: flashGreenLight 1.2s forwards;
}
.toast.fault {
  animation: flashRedLight 1.2s forwards;
}

@keyframes flashGreenLight {
  0% { background-color: #bbf7d0; }
  100% { background-color: #f9f9f9; }
}

@keyframes flashRedLight {
  0% { background-color: #fecaca; }
  100% { background-color: #f9f9f9; }
}

/* Obsah */
.toast-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Obrázek vlevo */
.toast-img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  border-radius: 6px;
  background: #ddd;
}

/* Text uprostřed */
.message {
  flex: 1;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 500;
}

/* Tlačítka vpravo */
.toast-actions {
  display: flex;
  gap: 0.5rem;
}

.action-btn {
  padding: 0.4rem 0.8rem;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  background-color: #e5e5e5;
  color: #111;
  cursor: pointer;
  transition: background 0.3s;
}

.action-btn:hover {
  background-color: #ccc;
}

/* PARTICLE EFEKT */
.particles-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
  z-index: 10000;
}

.particle {
  position: absolute;
  top: 0;
  left: 50%;
  border-radius: 50%;
  background-color: var(--color);
  animation: particleFly 1.6s ease-out forwards;
  opacity: 0.9;
}

@keyframes particleFly {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(var(--x), var(--y)) scale(0.5);
    opacity: 0;
  }
}

/* PŘECHODY MEZI CVIČENÍMI */
#exercise-wrapper {
  position: relative;
  overflow: hidden;
}

#exercise-container {
  transition: transform 0.6s ease-in-out, opacity 0.6s ease-in-out;
  will-change: transform, opacity;
}

.exercise-hidden-left {
  transform: translateX(-100%);
  opacity: 0;
}

.exercise-hidden-right {
  transform: translateX(100%);
  opacity: 0;
}

.exercise-visible {
  transform: translateX(0%);
  opacity: 1;
}

/* KARTIČKY------------------------------------------------------------------------*/
.completion-popup {
    display: none;
    width: 250px;
    height: 200px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(206, 206, 206); /* Tmavé pozadí */
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    z-index: 9; /* Ujistíme se, že je nad kartičkami */
}

.end-card-container {
    width: 250px;
    height: 150px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(206, 206, 206); /* Tmavé pozadí */
    border-radius: 12px;
    text-align: center;
    padding: 20px;
    color: rgb(0, 0, 0);
    display: none; /* Skryté, dokud není potřeba */
    z-index: 9;
}

.end-card-container.visible {
    display: block;
}

.card-container {
    width: 250px;
    height: 400px;
    position: absolute;
    perspective: 1000px;
    transition: transform 0.4s ease, opacity 0.4s ease;
    z-index: 2;
    transform-origin: center;
}

.card {
    width: 100%; /* Aby se karta přizpůsobila šířce kontejneru */
    height: 100%; /* Přizpůsobí se výšce kontejneru */
    position: absolute;
    transform-style: preserve-3d;
    transition: transform 0.6s;
    cursor: pointer;
    user-select: none; 
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    box-sizing: border-box;
}

.interaction-area, .card-container {
    touch-action: none; /* <<< zabrání nativnímu posouvání */
}

.card .side {
    width: 100%;
    height: 100%;
    position: absolute;
    backface-visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 25px;
    word-break: break-word; /* Zalomení dlouhých slov na jakémkoli znaku */
    overflow-wrap: break-word; /* Alternativa pro novější prohlížeče */
    hyphens: auto; /* Pokud podporováno, přidá spojovníky (pomlčky) pro lepší čitelnost */
}

.front {
    background: linear-gradient(120deg,rgb(158, 158, 250), rgb(130, 176, 236));
    color: #ffffff;
    box-shadow: 0 2px 5px rgb(71, 71, 71);
    display: inline-block; /* Umožní transformace */
    word-wrap: break-word; /* Umožní zalamování textu mezi slovy */
}

.back {
    background: linear-gradient(120deg,rgb(178, 178, 253), rgb(147, 185, 235));
    color: #ffffff;
    transform: rotateY(180deg);
    box-shadow: 0 2px 5px rgb(88, 88, 88);
    display: inline-block; /* Umožní transformace */
    word-wrap: break-word; /* Umožní zalamování textu mezi slovy */
}

.flipped {
    transform: rotateY(180deg);
}

.counter {
    position: relative;
    color: #ffffff;
    font-size: 20px;
    padding: 10px;
}

#counter-left { top: 10px; left: 10px; }
#counter-right { top: 10px; right: 10px; }

.left-area.active {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 30%;
    background: linear-gradient(to right, #bd5757 0%, transparent 100%);
    transition: background 2s ease-in-out;
    z-index: 0;
}

.right-area.active {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 30%;
    background: linear-gradient(to left, #559758 0%, transparent 100%);
    transition: background 2s ease-in-out;
    z-index: 0;
}

.chart {
    position: relative;
    top: 0%;
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
    color: rgb(19, 19, 19);
    display: flex;
    justify-content: space-between;
    width: 80%;
    font-size: 18px;
}

.mezi-percentage {
    top: 15px;
    font-size: 25px;
    color:rgb(134, 134, 134)
}

/* Nové animace pro návrat karty zpět do balíčku */
@keyframes returnToPackage {
    0% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.5);
    }
}

.returning {
    animation: returnToPackage 0.6s forwards;
}

.success-chart {
    width: 250px;
    height: 100px;
    margin: 10px auto;
}

/*KLIKACKA---------------------------------------------------------------------------*/

/*hudba*/
.music-button {
    position: relative;
    background-color: #d6d6d6;
    border: none;
    color: rgb(27, 27, 27);
    padding: 10px 12px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 18px;
    transition: background-color 0.3s, transform 0.2s;
}
  
.music-button:hover {
    background-color: #4589b6;
}
  
.music-button.active {
    background-color: #2ecc71;
}
  
.music-button:active {
    transform: scale(0.95);
}

/* Pyramidové zvýraznění */
.rank-1 {
    font-size: 1.6em;
    font-weight: bold;
    color: #00ffff; /* zářivá modrá */
    width: 300px;
}
.rank-2 {
    font-size: 1.4em;
    font-weight: bold;
    color: #66ccff;
    width: 250px;
}
.rank-3 {
    font-size: 1.2em;
    font-weight: bold;
    color: #9999ff;
    width: 210px;
}
.rank-4, .rank-5, .rank-6, .rank-7, .rank-8, .rank-9, .rank-10 {
    font-size: 1em;
    color: #ccccff;
    width: 170px;
}
.rank-9 {
    opacity: 0.6; /* 0 = úplně průhledné, 1 = úplně neprůhledné */
}
.rank-10 {
    opacity: 0.3;
}

    #game-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin-top: 20px;
    }
    .word-button {
        width: 20%; /* Pevná šířka */
        height: 150px; /* Pevná výška */
        font-size: 18px;
        cursor: pointer;
        border: 1px solid #bebebe; /* Tmavší okraje */
        background-color: #dfdfdf; /* Tmavé pozadí tlačítka */
        color: #1f1f1f; /* Bílé písmo */
        transition: transform 0.2s, background-color 0.3s, opacity 0.5s;
        border-radius: 15px;
        margin: 10px; /* Vytvoří mezeru 20px kolem celého divu */
    }
    .word-button.selected {
        transform: scale(1.1);
        background-color: #e2d135; /* Modré pozadí pro vybrané tlačítko */
        color: black;
    }
    .word-button.correct {
        background-color: #4caf50 !important; /* Fialová pro správné tlačítko */
        color: white;
    }
    .word-button.icorrect {
        background-color: #f44336 !important; /* Fialová pro správné tlačítko */
        color: white;
    }
    .word-button.hidden {
        opacity: 0;
        pointer-events: none;
    }
    #timer {
        font-size: 24px;
        color: #5f5f5f; /* Světle šedý text pro čas */
        transition: color 0.3s, transform 0.3s;
    }

    #start-screen, #end-screen {
    top: 50%;
    left: 50%;
    text-align: center;
        background: linear-gradient(90deg, rgb(151, 151, 252), rgb(120, 171, 236));
        padding: 20px;
        border-radius: 10px;
        z-index: 9;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        animation: waveEffect 10s infinite linear; /* Animace pro vlny */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
        background-size: 200% 100%; /* Nastavení velikosti gradientu pro animaci */
        opacity: 0; /* Začíná jako neviditelný */
        animation: fadeIn 1s forwards; /* Animace bude trvat 1 sekundu a po skončení zůstane na 100% */
    }

    @keyframes waveEffect {
        0% {
            background-position: 100% 0; /* Počáteční pozice pozadí */
        }
        50% {
            background-position: 0 0; /* Po půlce animace */
        }
        100% {
            background-position: 100% 0; /* Konečná pozice pozadí */
        }
    }

    @keyframes fadeIn {
        0% {
            opacity: 0;
        }
        100% {
            opacity: 1;
        }
    }

    @keyframes fadeOut {
        0% {
            opacity: 1; /* Začíná jako plně viditelný */
        }
        100% {
            opacity: 0; /* Konec animace - neviditelný */
        }
    }

    #scores-list li .time {
        color: #8e44ad; /* Fialová pro čas */
    }
    #scores-list li .nickname {
        max-width: 48%;
        word-wrap: break-word;
        white-space: normal;
    }
    /* Umožní lepší zobrazení na mobilních zařízeních */
@media (max-width: 600px) {
    .word-button {
        width: 25%; /* Pevná šířka */
        height: 100px; /* Pevná výška */
        font-size: 18px;
        border-radius: 10px;
        margin: 5px; /* Vytvoří mezeru 20px kolem celého divu */
    }
}

/* Výchozí styl pro všechny položky */
#scores-list li {
    position: relative;
    padding: 8px;
    margin-bottom: 4px;
    background-color:rgb(56, 56, 56);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    border-radius: 5px;
    display: flex;
    align-items: center; /* zarovná <li> doprostřed */
    justify-content: space-between;
}

/*KONTAKTY-------------------------------------------------------------------------------------*/
.instagram {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(120deg, rgb(199, 159, 27), rgb(226, 52, 52));
    background-size: cover;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    position: relative;
    max-width: 600px; /* 👈 maximální šířka */
  }
  
  
  .instagram h1 {
    font-size: 2rem;
    margin-bottom: 1rem;
    color:rgb(223, 223, 223);
    position: relative;
    z-index: 2;
  }
  
  .fotky-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; /* Aby nešlo klikat na obrázky */
    z-index: 1;
    overflow: hidden;
  }
  
  .fotky-bg img {
    position: absolute;
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 1rem;
    opacity: 0.3;
    animation: float 6s ease-in-out infinite;
    transform-style: preserve-3d;
    box-shadow: 0 10px 20px rgba(0,0,0,0.4);
  }
  
  /* Individuální pozice a rotace */
  .fotky-bg img:nth-child(1) {
    top: 10%;
    left: 10%;
    animation-delay: 0s;
  }
  .fotky-bg img:nth-child(2) {
    top: 60%;
    right: 10%;
    animation-delay: 1s;
  }
  .fotky-bg img:nth-child(3) {
    bottom: 20%;
    left: 30%;
    animation-delay: 2s;
  }
  .fotky-bg img:nth-child(4) {
    bottom: 40%;
    right: 30%;
    animation-delay: 3s;
  }
  
  @keyframes float {
    0%, 100% {
      transform: translateY(0) rotateX(0deg) rotateZ(0deg);
    }
    50% {
      transform: translateY(-10px) rotateX(2deg) rotateZ(1deg);
    }
  }
  
  .kontaktyikony {
    width: 120px;
    height: auto;
    transition: transform 0.3s ease; /* přidá hladký efekt */
    opacity: 1 !important;
    z-index: 3;
    position: relative;
  }
  
  .kontaktyikony:hover {
    transform: scale(1.1);
  }

    .contact-box h2 {
    color: #fff;
    margin-bottom: 1rem;
    }

    .contact-box .section {
    margin-bottom: 1.5rem;
    }

    .contact-box h3 {
    color:rgb(116, 23, 238);
    margin-bottom: 0.7rem;
    }

    .contact-box a {
    color: #8ab4f8;
    text-decoration: none;
    }

    .contact-box a:hover {
    text-decoration: underline;
    }

/*CESTUJEME S JINDŘICH BANK---------------------------------------------------------------------*/

.features2 {
    background: linear-gradient(135deg,rgb(236, 236, 236),rgb(206, 206, 206));
    padding: 2rem;
    border-radius: 1rem;
    max-width: 400px;
    margin: 20px;
    box-shadow: 0 0 20px rgba(32, 32, 32, 0.5);
    color: #1d1d1d;
    transition: transform 0.3s ease;
    position: relative;
}

@keyframes posunPozadi {
  0%   { background-position: center; }
  50%  { background-position: right center; }
  100% { background-position: center; }
}

.nadpis2 {
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url('fotky/tytulnifotka-csjb.webp');
  background-size: cover;
  background-position: center;
  height: 50vh;
  color: white;
  text-align: center;
  position: relative;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  border-radius: 8px;

  /* ✨ Animace pozadí */
  animation: posunPozadi 15s ease-in-out infinite;
}


.nadpis2::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.2); /* Ztmaví obrázek pro lepší čitelnost textu */
    z-index: 1;
}

.nadpis2-text {
      font-size: 3rem;
      font-weight: bold;
      z-index: 2;
      text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.6); /* stín */
      animation: fadeIn 1s ease-out;
}

@keyframes fadeIn {
  0% { opacity: 0; transform: translateY(-20px); }
  100% { opacity: 1; transform: translateY(0); }
}

.countdown span {
  font-weight: bold;
  font-size: 1.2rem;
  margin: 0 0.3rem;
  display: inline-block;
  transition: transform 0.3s;
  color: #da930f;
}

.countdown span:hover {
  transform: scale(1.2);
}


.faq-container {
    max-width: 600px;
    margin: auto;
    padding: 20px;
  }

  details.faq {
    border-radius: 10px;
    background:rgba(255, 255, 255, 0.58);
    margin: 10px 0;
    padding: 15px 20px;
    position: relative;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: background 0.3s ease;
  }

  details.faq[open] {
    background:rgb(199, 199, 199);
  }

  details.faq summary {
    list-style: none;
    cursor: pointer;
    font-size: 1.1rem;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  details.faq summary::-webkit-details-marker {
    display: none;
  }

  .faq-arrow {
    transition: transform 0.3s ease;
    font-size: 1.2rem;
  }

  details.faq[open] .faq-arrow {
    transform: rotate(90deg);
  }

  details.faq p {
    margin-top: 10px;
    line-height: 1.5;
    animation: fadeIn 0.3s ease;
  }

  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
  }

/* ARCHIV -----------------------------------------------------------------------------------*/

.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
    padding: 10px;
    position: relative;
  }

  .gallery > div {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 16px;
    background: #e4e4e4;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
    cursor: pointer;
    transition: transform 0.2s ease;
  }

  .author {
    position: absolute;
    bottom: 4px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 0.75em;
    color: #ccc;
    background: rgba(0, 0, 0, 0.4);
    padding: 2px 6px;
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
  }

  .location {
    position: absolute;
    top: 4px; /* Stejně jako autor, umístění na začátek fotky */
    left: 0;
    right: 0;
    text-align: center;
    font-size: 0.75em;
    color: #ccc;
    background: rgba(0, 0, 0, 0.4);
    padding: 2px 6px;
    border-top-left-radius: 16px; /* Rovnání pro horní rohy */
    border-top-right-radius: 16px; /* Rovnání pro horní rohy */
  }

  .overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.92);
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 1000;
  }

  .overlay img {
    max-width: 95vw;
    max-height: 90vh;
    border-radius: 12px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.589);
  }

  .toolbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 50px;
    background: #222;
    color: white;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 15px;
    gap: 10px;
    z-index: 1001;
  }

  .toolbar button {
    background: none;
    border: none;
    color: white;
    font-size: 18px;
    cursor: pointer;
  }

  .toolbar button:hover {
    color: #00aaff;
  }

.top-bar {
background: linear-gradient(135deg,rgb(236, 236, 236),rgb(206, 206, 206));
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
padding: 15px;
text-align: center;
color: #161616;
top: 30px;
bottom: 30px;
position: relative;
}

.top-bar h2 {
margin: 0 0 8px 0;
}

.slideshow {
overflow: hidden;
height: 180px;
position: relative;
}

.slideshow-track {
display: flex;
width: max-content;
animation: scroll-left 60s linear infinite;
}

.slideshow-track img {
height: 180px;
margin-right: 16px;
border-radius: 8px;
object-fit: cover;
}

@keyframes scroll-left {
0% {
  transform: translateX(0);
}
100% {
  transform: translateX(-50%);
}
}

.year-buttons button.active {
background: #00aaff;
}

/*INDEX------------------------------------------------------------------*/

.logovelke {
  width: 500px;
  margin-left: 0;
  display: block;
  margin: 20px;
  max-width: 100%;
  height: auto;
}

.hero2 {
  display: flex;
  flex-wrap: wrap; /* důležité! */
  gap: 16px; /* volitelně mezera mezi prvky */
  justify-content: center;
}

.uvodni-fotka {
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url('fotky/uvodni-fotka.webp');
  background-size: cover;
  background-position: center;
  height: 40vh;
  color: white;
  text-align: center;
  position: relative;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  border-radius: 8px;

  /* ✨ Animace pozadí */
  animation: posunPozadi 15s ease-in-out infinite;
}

.uvodni-fotka::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.2); /* Ztmaví obrázek pro lepší čitelnost textu */
    z-index: 1;
}

.uvodni-fotka-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 5rem;
    font-weight: bold;
    z-index: 2;
    text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.6); /* stín */
    animation: fadeIn 1s ease-out;
}
.zakladi-info {
  display: flex;
  flex-wrap: wrap; /* důležité! */
  gap: 16px; /* volitelně mezera mezi prvky */
  justify-content: center;
}

.hero-subtitle {
  width: 320px;
}

.novinky {
  padding: 2rem;
  max-width: 700px;
  margin: auto;
  border-radius: 12px;
}

.novinka {
  background-color:rgb(228, 228, 228);
  border-left: 5px solid rgb(243, 145, 33);
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: 8px;
  transition: transform 0.2s;
  box-shadow: 0 0 20px rgba(71, 71, 71, 0.5);
}

.novinka:hover {
  transform: translateY(-2px);
}

.novinka h3 {
  margin: 0 0 0.3rem;
  font-size: 1.3rem;
  color:rgb(252, 146, 48);
}

.novinka small {
  display: block;
  color: rgb(119, 119, 119);
  margin-bottom: 0.5rem;
}

.novinka p {
  margin: 0;
  line-height: 1.5;
  color: rgb(41, 41, 41);
}

/*TEST----------------------------------------------------------------*/
.zarovani-test {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
}
.container {
    width: 80%;
    max-width: 1000px;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2), 
                inset 0px 0px 10px rgba(0, 0, 0, 0.1);
    background-image: url("fotky/bily-papir-pomackany.webp");
    background-size: cover;
    filter: drop-shadow(4px 4px 10px rgba(255, 255, 255, 0.212));
}

#testContainer p {
    font-size: 18px;
    margin: 10px 0;
}
#testContainer input {
    width: 70%;
    padding: 5px;
}
#timerDisplay {
    font-size: 20px;
    font-weight: bold;
    margin-top: 20px;
}
#result {
    margin-top: 20px;
    font-size: 18px;
}
.correct2 {
    background-color:rgba(110, 192, 107, 0.22);
    border-radius: 5px;
    padding: 5px;
}
.incorrect2 {
    background-color:rgba(193, 110, 117, 0.25);
    border-radius: 5px;
    padding: 5px;
}

    @import url('https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap');

.result-container {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 100px;
    height: 100px;
}

.result-circle {
    fill: none;
    stroke: #4CAF50;
    stroke-width: 4;
    stroke-dasharray: 300;
    stroke-dashoffset: 300;
    animation: drawCircle 1.5s ease-out forwards;
}

@keyframes drawCircle {
    from {
        stroke-dashoffset: 300;
    }
    to {
        stroke-dashoffset: 0;
    }
}

.result-text {
    font-family: 'Patrick Hand', cursive;
    font-size: 24px;
    fill: #4CAF50;
    text-anchor: middle;
    dominant-baseline: middle;
}

.input-test {
    padding: 10px;
    bottom: 10px;
    border-radius: 5px;
    color: rgb(48, 48, 48);
    border: 1px solid #c2c2c2;
    background-color: #d6d6d6;
    font-size: 16px;
    width: 30%;
    margin-top: 15px;
}

.test-line {
    border: none;         /* Odstraní výchozí styl */
    height: 3px;          /* Nastaví tloušťku čáry */
    background-color:rgb(122, 122, 122); /* Nastaví barvu čáry */
    margin: 20px 0;       /* Nastaví odsazení okolo čáry */
    border-radius: 5px;      /* Zaoblí konce čáry */
}
