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

.background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
    pointer-events: none; /* Neinterferuje s klikáním */
    background-image: 
    radial-gradient(circle at 20% 30%, rgba(70, 131, 180, 0.226) 0%, transparent 25%),
    radial-gradient(circle at 70% 60%, rgba(255, 105, 180, 0.233) 0%, transparent 30%),
    radial-gradient(circle at 80% 10%, rgba(255, 217, 0, 0.171) 0%, transparent 20%),
    radial-gradient(circle at 20% 110%, rgba(153, 0, 255, 0.1) 0%, transparent 20%);
    background-repeat: no-repeat;
    background-size: cover;
}

.layout {
  display: flex;
  min-height: 100vh;
  width: 100%;
}

/* Sidebar si ponechá své šířky */
.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 250px;
  background-color: rgb(18 18 18 / 66%);
  box-shadow: 0 0 20px #38383863;
  color: white;
  transition: all 0.3s;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 1000;
  flex-shrink: 0;
  align-items: center;
  overflow: hidden;           /* zabrání přetečení */
}

.sidebar-content {
  overflow-y: auto;
  scrollbar-width: thin; /* Firefox */
  scrollbar-color: #5a2d84 transparent;
  width: 100%;
}

/* Pro Chrome, Edge, Safari */
.sidebar-content::-webkit-scrollbar {
  width: 8px;
}

.sidebar-content::-webkit-scrollbar-track {
  background: transparent;
}

.sidebar-content::-webkit-scrollbar-thumb {
  background-color: #7647b8;
  border-radius: 4px;
  border: 2px solid transparent;
  background-clip: content-box;
}

.sidebar.hidden {
  transform: translateX(-100%);
}

.sidebar.visible {
  transform: translateX(0);
}

/* Hlavní kontejner */
#kontejner_vystredeny {
    flex-direction: column;
    align-items: center;
    min-height: 100lvh;
    margin: 10px;
    background-color: rgb(18 18 18 / 66%);
    box-shadow: 0 0 20px #38383863;
    border-radius: 4px;
    transition: margin-left 0.3s;
    margin-left: 260px; /* Stejně jako .main-content */
    margin-top: 50px;
    width: calc(100% - 260px);
}

#vnitrni_okraje {
  padding: 20px;
}

/* Responsivita */
@media (max-width: 1000px) {
  .layout {
    flex-direction: column;
  }

  .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    z-index: 1000;
    transform: translateX(-100%);
  }

  .sidebar.visible {
    transform: translateX(0);
  }
}

@media (max-width: 1000px) {
  #kontejner_vystredeny {
    margin-left: 0;
    margin-top: 0;
    width: 100%;
  }
}

.menu .vytvoritcivceni_btn {
    background: linear-gradient(45deg, #6b3dd0, #5d4ea6);
    border: none;
    color: white;
    padding: 12px 20px;
    border-radius: 34px;
    display: inline-block;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    will-change: transform;
    text-decoration: none;
}

.menu .vytvoritcivceni_btn:hover {
  transform: scale(1.05);
}

.motiv a {
  font-size: 1.8rem;
  cursor: pointer;
  margin: 0 10px;
  color: #e3e3e3; /* žlutá pro slunce */
}

.motiv a.mesic {
  color: #5a5a5a; /* modrá pro měsíc */
}

.motiv a:hover {
  color: #a721b6; /* žlutá pro slunce */
}

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

#menu li {
    margin: 0;
}

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

.menu li.has-submenu > a {
  justify-content: space-between;
}

.menu li.has-submenu .submenu-arrow {
  font-size: 12px;
  transition: transform 0.3s ease;
}

.menu li.has-submenu.active .submenu-arrow {
  transform: rotate(180deg);
}

.menu .submenu {
  display: none;
  flex-direction: column;
  padding-left: 30px;
}

.menu li.active .submenu {
  display: flex;
}

.menu .submenu a {
  color: #d6d9da;
  font-size: 13px;
}

.notification-box-menu {
  display: flex;
  align-items: center;
  background: #d757f100;
  border: 1px solid #9859f0;
  border-radius: 12px;
  max-width: 400px;
  margin: 15px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 10px;
}

.profile {
  display: flex;
  margin: 20px 0;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.profile img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.menu li > a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 20px;
  color: inherit;
  text-decoration: none;
  transition: background 0.2s ease;
  width: 80%;
}

.menu {
  flex-grow: 1;
}

/* Hlavní aktivní odkaz */
.menu li.active {
  background-color: #582f7e57;
}

.menu ul {
  list-style: none;
  padding: 0;
}

.menu li {
    display: flex;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
}

.vytvoritcivceni_pole {
  padding: 5px 15px;
  margin: 0 0 10px 0;
}

.menu li:hover {
  background-color: rgba(128, 70, 182, 0.341);
}

.menu i {
  margin-right: 15px;
  min-width: 20px;
  text-align: center;
  color: #ecf0f1;
}

.menu-text {
  transition: opacity 0.3s;
  color: #ecf0f1;
  text-decoration: none;
}

/* Horní lišta pro mobil */
.topbar {
  display: none;
  background-color: #000000a8;
  color: white;
  height: 60px;
  align-items: center;
  padding: 0 15px;
  position: sticky;
  top: 0;
  z-index: 800;
}

.mobile-toggle {
  background: none;
  border: none;
  color: white;
  font-size: 24px;
  margin-right: 15px;
  cursor: pointer;
  margin-left: 15px;
}

.topbar-logo {
  width: 130px;
  top: 4px;
  position: relative;
  right: 5px;
}

@media (max-width: 1000px) {
  .sidebar {
    transform: translateX(-100%);
    width: 250px;
    height: 100%;
  }

  .sidebar.visible {
    transform: translateX(0);
    background-color: #0c0c07;
  }

  .main-content {
    margin-left: 0;
  }

  .topbar {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 0px;

  }

  .toggle-btn {
    display: none;
  }
}

.logo {
    display: flex;
    width: 200px;
    background-size: contain; /* Logo se vejde do prostoru */
    background-repeat: no-repeat;
    background-position: center;
    top: 20px;
    position: relative;
}

.logo-img {
  display: flex;
  justify-content: center;
  position: relative;
}


/* Změna motivu */
.motiv {
    display: flex;
    gap: 20px;
    height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    justify-content: center;
    padding: 20px;
}
  
.footer-icon {
  height: 50px;
  margin-left: 10px;
  transition: transform 0.2s ease;
}

.footer-icon:hover {
  transform: scale(1.1);
}

.profilovka-menu {
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid #ffffff;
  top: 90px;
  left: 140px;            /* volitelné – mezera mezi obsahem a okrajem */
}

.top-strip {
  position: absolute;
  top: 0;
  left: 260px; /* pokud má sidebar 250px */
  right: 0;
  height: 40px;
  background-color: rgb(18 18 18 / 66%);
  box-shadow: 0 0 20px #38383863;
  color: #cecece;
  border-radius: 4px;
  font-size: 14px;
  display: flex;
  align-items: center;
  padding: 0 15px;
  gap: 20px;
  overflow-x: auto;
  white-space: nowrap;
  justify-content: space-between;
}

.top-strip-odkaz {
  color: #9859f0;
  text-decoration: none;
  transition: color 0.2s;
}

.top-strip-odkaz:hover {
  color: #ffffff;
}

.odkaz {
  color: #9859f0;
  text-decoration: none;
  transition: color 0.2s;
}

.odkaz:hover {
  color: #ffffff;
}

.datum-prazdniny-svatky {
  gap: 15px;
  display: flex;
}

/* ❌ Skryj lištu na mobilních zařízeních (např. šířka < 1000px) */
@media screen and (max-width: 1000px) {
  .top-strip {
    display: none;
  }

  .breadcrumb {
    display: none;
  }

  .datum-prazdniny-svatky {
    display: none;
  }
}

.breadcrumb {
  position: absolute;
  right: 20px;
}

.mobile-top-strip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  bottom: 10px;
  position: relative;
}

.breadcrumb-span {
    color: #6b6b6b;
}

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

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

.overlay.active {
  display: block;
}

.modal {
  display: none; 
  position: fixed; 
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto; 
  background-color: rgba(0,0,0,0.5); 
  backdrop-filter: blur(2px);
  transition: opacity 0.3s ease;
}

.modal-content {
  background-color: #1a1a1acc;
  margin: 10% auto; 
  padding: 20px;
  border-radius: 10px;
  width: 90%;
  max-width: 500px;
  position: relative;
  animation: slideIn 0.3s ease forwards;
  border: 3px solid rgb(216 82 134);
  color: #dc537e;
}

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

.close {
  position: absolute;
  right: 15px;
  top: 10px;
  font-size: 24px;
  cursor: pointer;
}

.modal-content div {
    gap: 20px;
    display: flex;
    margin: 10px;
}

.info-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 6px;
    border-radius: 50%;
    color: white;
    font-size: 12px;
    cursor: pointer;
    user-select: none;
}

.info-icon:focus,
.info-icon:hover {
    transform: scale(1.2); /* zvětšení o 20% */
    outline: none; /* pokud nechceš default outline */
}

.info-text {
    position: absolute;
    bottom: 125%;
    left: 50%;
    transform: translateX(-50%);
    width: 220px;
    padding: 10px;
    background: #2b2b2bff;
    color: #fff;
    font-size: 0.85em;
    border-radius: 10px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 10;
}

.info-icon.active .info-text {
    opacity: 1;
    pointer-events: auto;
}

/*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: #1e1e1e;
    color: #e0e0e0;
    border: 1px solid #333;
    padding: 10px;
    border-radius: 8px;
    font-size: 16px;
    outline: none;
}

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

/* 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: #1e1e1e;
    border: 1px solid #333;
    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: #999;
    border-top: 1px solid #444;
    padding-top: 10px;
    margin-bottom: 10px;
}

.CMGmaterialy-nadpis {
    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(248, 54, 248));
    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(255, 95, 255);
    }
    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: #acacac; /* Š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(119, 29, 29); /* 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 #531111; /* Č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: #7c1313; /* 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: #333; /* Tmavé pozadí */
    color: white; /* Bílé písmo */
    border: 2px solid #555; /* 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 */
}

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

.btn1 {
    display: inline-block;
    padding: 10px 15px;
    margin-top: 10px;
    font-size: 16px;
    background: linear-gradient(45deg, #89b4fa, #74c7ec);
    color: #1e1e2e;
    font-weight: bold;
    text-decoration: none;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
    position: relative;
}
.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: 70px;
    overflow: hidden;
    vertical-align: bottom;
    width: 370px;
    max-width: 100%;
    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%;
  }

  /* mobilní verze */
  @media (max-width: 700px) {
    .changing-word {
      font-size: 40px;
    }
  }

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

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

/* Barvičky pro jednotlivá slova v nadpise*/
.blue {
color: #4fc3f7;
}

.green {
color: #81c784;
}

.yellow {
color:rgb(255, 208, 79);
}

.purple {
color:rgb(211, 116, 116);
}    

/* zbytek stránky */

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

.hero-content {
  align-items: center;
  width: 100%;
  display: inline-block; 
  text-align: center;
}
.hero-content h1 {
  font-size: 2.8rem;
  color:rgb(202, 202, 202);
  margin-bottom: 15px;
}

/* mobilní verze */
@media (max-width: 700px) {
  .hero-content h1 {
    font-size: 2.4rem;
  }
}

.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(41 41 41 / 57%), rgb(54 54 54 / 52%));
padding: 2rem;
border-radius: 1rem;
width: 30%;
min-width: 250px;
margin: 20px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
color: #e0e0ff;
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;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
  position: relative; /* Umožní umístit pseudo-element nad obrázek */
}

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

.features4 {
  margin: 20px;
  padding: 0 20px;
}

/* wrapper pro jednu sekci */
.feature-block {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

/* střídání stran */
.feature-block.left {
  flex-direction: row;
}
.feature-block.right {
  flex-direction: row-reverse;
  text-align: right;
  margin: 90px 0;
}

/* textový box */
.feature4 {
  flex: 1;
  padding: 20px;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.text4 h3 {
  margin: 0 0 10px;
  font-size: 2rem;
    background: linear-gradient(45deg, #9a74ecff 0%, #89b4fa 50%);
  -webkit-background-clip: text;   /* ořízne přechod do tvaru textu */
  -webkit-text-fill-color: transparent; /* text průhledný, ukáže se přechod */
  background-clip: text;
  color: transparent;
}
.text4 p {
  margin: 0;
  line-height: 1.7rep;
}

/* animace */
.animace {
  flex: 1;
  max-width: 400px;
}

.animate-box {
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* mobilní verze */
@media (max-width: 1000px) {
  .feature-block {
    flex-direction: column !important;
    text-align: center;
  }
  .animace {
    max-width: 100%;
  }

  .animate-box {
    width: 100%;
  }
}

.popisek2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3; /* standardní zápis */
  overflow: hidden;
  text-overflow: ellipsis;
}

.recent-chip {
  background: rgba(70, 131, 180, 0);   /* jemná modrá s průhledností */
  border: 2px solid rgba(100, 160, 220, 0.6); 
  color: #dce9f7;                         /* světlý modro-bílý text */
  padding: 0.5rem 1rem;
  border-radius: 9999px; /* ovál */
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 1px 3px rgba(0,0,0,0.35);
  flex: 0 0 auto; /* zabrání zmenšování čipů */
  margin: 5px;
}

.recent-chip:hover {
  background: rgba(132, 194, 255, 0.9);  /* sytější světle modrá */
  border-color: #91c6fbff;               /* světlejší linka */
  color: #000000ff;
  transform: translateY(-2px) scale(1.03);
}

.recent-chip--random {
  border: 2px dashed rgba(100, 160, 220, 0.6); 
  color: #a6a6a6;
}

.recent-info {
  color:#aaa;
}

.recent-wrapper {
  display: flex;
  align-items: center;
  position: relative;
}

.recent-row-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  -webkit-overflow-scrolling: touch; /* plynulé scrollování na mobilech */

  /* Firefox */
  scrollbar-width: none; 
}

/* Chrome, Safari, Edge */
.recent-row-wrapper::-webkit-scrollbar {
  display: none;
}

.recent-row {
  display: flex;
  gap: 0.5rem;
  padding: 0 0.5rem;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
}


.recent-row {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-start;
  padding: 0 0.5rem; /* zabrání ořezávání prvního a posledního prvku */
}

.cviceniodkazy2 {
  display: flex;
}
/*_____________________________________________________________________________________vyhledat-cviceni*/

/* Sekce */
.searchcviceni {
  backdrop-filter: blur(4px);
  padding: 2rem;
  border-radius: 1.2rem;
  color: #e8e9ff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  transition: backdrop-filter 0.3s ease;
  -webkit-mask-image: linear-gradient(to top, transparent 0%, black 30%, black 100%);
  mask-image: linear-gradient(to top, transparent 0%, black 30%, black 100%);
}


.searchcviceni:hover {
  backdrop-filter: blur(2);
}

.content .recent-row-wrapper {
  position: relative;
  top: -60px;
}

.nic1 {
  height: 40px;
}

/* Kontejner pro inputy */
#search-container {
  display: flex;
  gap: 14px;
  width: 100%;
  justify-content: center;
  flex-wrap: wrap;
}

/* Inputy a select */
#search1,
#search2 {
  padding: 14px 16px;
  font-size: 16px;
  border-radius: 12px;

  background: #25283a;
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #e7e9f8;

  transition: background 0.25s ease,
              border-color 0.25s ease,
              box-shadow 0.25s ease;

  width: 100%;
  max-width: 360px;
}

/* Placeholder */
#search1::placeholder {
  color: #a0a5c0;
}

/* Hover */
#search1:hover,
#search2:hover {
  background: #2b2f46;
  border-color: rgba(130, 160, 255, 0.25);
}

/* Focus */
#search1:focus,
#search2:focus {
  outline: none;
  background: #2d314b;
  border-color: #84a3ff;
  box-shadow: 0 0 10px rgba(132, 163, 255, 0.35);
}

/* Responzivita */
@media (max-width: 600px) {
  #search-container {
    gap: 12px;
  }

  #search1, #search2 {
    max-width: none;
    width: 100%;
  }
}

.result1-item {
    background: #313244;
    padding: 15px;
    margin: 10px auto;
    width: 90%;
    max-width: 400px;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3);
    border-left: 5px solid #89b4fa;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: visible;
    overflow: hidden;
}

.result1-item:hover {
    background-color: #45475a;
}

/* 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(48, 155, 255, 0.171),
            rgba(32, 121, 255, 0) 30px,
            rgba(0, 255, 0, 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: #51546d9d;
    padding: 0px 10px;
    border-radius: 5px;
    width: 100%;
    margin-top: 10px;
    position: relative;
}
.details.show {
    max-height: 1000px;
    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;
}

.breadcrumb-link2 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #404040;
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 4px;
  transition: color 0.2s ease, background 0.2s ease;
}

/*_____________________________________________________________________________________vsechna_cviceni.php*/

    .list2 {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .item2 {
      display: flex;
      align-items: center;
      background: #ffffff21;
      border-radius: 6px;
      padding: 8px 12px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.1);
      transition: background 0.2s ease;
      font-size: 14px;
    }
    .item2:hover {
      background: #eef5ff15;
    }
    .item2 i {
      margin-right: 10px;
      font-size: 18px;
      color: #d5d5d5;
      flex-shrink: 0;
    }
    .content2 {
      flex: 1;
      margin-left: 10px;
    }
    .title2 {
      font-weight: 600;
      margin: 0;
      font-size: 15px;
    }
    .title2 a {
      text-decoration: none;
      color: #d5d5d5;
    }
    .title2 a:hover {
      text-decoration: underline;
    }
    .meta2 {
      font-size: 12px;
      color: #666;
      margin-top: 2px;
    }

/*_____________________________________________________________________________________cviceni.php*/

.data-card {
    position: relative;
    background: linear-gradient(90deg, #2a2a44, #222d3f, #2a2a44);
    background-size: 200% 100%;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    color: #f0f0f0;
    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 {
    display: flex;
    flex-wrap: wrap; /* důležité */
    justify-content: center;
}

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

.data-card h2 {
    color: #65aaff; /* 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 #f3f3f3; /* 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;
    }

    /* Navigace na mobilu */
    #menu {
        position: absolute;
        left: 10px; /* Změněno z right na left */
        top: 140px;
        background: #1F1F1F;
        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: #333;
        color: #E2E1F1;
        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: #6200EE;
    }

    .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;
width: 100%; /* Zajistí, že kontejner využije dostupný prostor */
justify-content: flex-start; /* Zarovnání vlevo */
}


.lesson {
background: linear-gradient(120deg,rgb(43, 43, 68), #1b2532);
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: #e0e0e0;
margin: 7px; /* odsazení ze všech stran (nahoru, doprava, dolů, doleva) */
}

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

.lesson h20 {
color:rgb(121, 179, 255);
font-size: 1.3em;
margin-bottom: 8px;
}

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

.word-list li {
background:rgb(34, 34, 59);
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: #B0B0B0;
}

.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;
    margin: 20px;
    width: 150px;
    height: 150px;
    border: 2px solid #9e9e9e; /* Š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 #9e9e9e;
    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:rgb(143, 142, 142);;
    font-weight: bold;
    font-size: 16px;
}

.card3-button {
    position: relative;
    margin: 20px;
    width: 150px;
    height: 150px;
    border: 2px solid #9e9e9e; /* Š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 #9e9e9e;
    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;
    filter: grayscale(100%); /* Udělá tužku šedou */
    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;
    filter: grayscale(100%); /* Udělá fajfku šedou */
    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 #9e9e9e; /* Š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 #4CAF50; /* zelená */
}

.lesson-block.color-1 .lesson-icon,
.lesson-block.color-1 .lesson-toggle{
  color: #4CAF50;
}

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

.lesson-block.color-1 h20{
  color: #4CAF50;
}

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

.lesson-block.color-2 .lesson-icon,
.lesson-block.color-2 .lesson-toggle{
  color: #E91E63;
}

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

.lesson-block.color-2 h20{
  color: #E91E63;
}

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

.lesson-block.color-3 .lesson-icon,
.lesson-block.color-3 .lesson-toggle {
  color: #F44336;
}

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

.lesson-block.color-3 h20{
  color: #F44336;
}

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

.lesson-block.color-4 .lesson-icon,
.lesson-block.color-4 .lesson-toggle{
  color: #FF9800;
}

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

.lesson-block.color-4 h20{
  color: #FF9800;
}

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

.lesson-block.color-5 .lesson-icon,
.lesson-block.color-5 .lesson-toggle{
  color: #3F51B5;
}

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

.lesson-block.color-5 h20{
  color: #3F51B5;
}

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

.hornipruh1:hover {
  background-color: #ffffff0e;
}

.like-section {
    display: flex;
    align-items: center;
    gap: 8px;
}

.like-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
}

.like-button svg {
    width: 28px;
    height: 28px;
    fill: #ccc;
    transition: fill 0.3s ease, transform 0.3s ease;
}

.like-button.liked svg {
    fill: #e63946;
    transform: scale(1.2);
    animation: pulse 0.6s ease;
}

.avatars img {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    margin-left: -10px;
    margin-top: 2px;
    border: 2px solid #ddddddff;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.69);
}

.tlacitka_laiky_box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
}

.avatars {
    display: flex;
    align-items: center;
    gap: 5px;
    transition: opacity 0.5s ease;
    margin-top: 5px;
    margin-left: 14px;
}

.avatars.fade-out {
    opacity: 0;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

.notification-box {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #d757f100;
  border: 1px solid #9859f0;
  border-radius: 12px;
  padding: 0px 20px;
  max-width: 400px;
}

.notification-icon {
  font-size: 32px;
  color: #9257e7;
  flex-shrink: 0;
}

.notification-content {
  flex-grow: 1;
}

.notification-title {
  font-size: 14px;
  font-weight: 600;
  color: #9257e7;
  text-align: center;
}

.btn3 {
  display: inline-block;
  padding: 8px 16px;
  background: #9257e7;
  color: white;
  font-size: 14px;
  font-weight: 500;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.2s ease;
  border: 2px;
}

.btn3:hover {
  background: #653c9e;
}

.nastaveni-lekci {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.guide-banner {
  position: fixed;
  bottom: 0;
  right: 20px;            /* vynořuje se z pravé strany */
  width: 280px;
  transform: translateY(-50%) translateX(150%); /* mimo obrazovku */
  opacity: 0;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  padding: 20px;
  color: #3a3a3a;
  z-index: 9999;
  transition: all 0.5s ease;
  gap: 10px;
}

/* Když chceme, aby se zobrazil */
.guide-banner.show {
  transform: translateY(-50%) translateX(0); /* do viditelné pozice */
  opacity: 1;
}

/* Nadpis */
.guide-banner h3 {
  margin-top: 0;
  font-size: 1.3rem;
  font-weight: 600;
  color: #7b25ebff;
}

.guide-banner span {
    bottom: 13px;
    position: relative;
}

/* Tlačítka */
.fialovy_button {
  background: #7b25ebff;
  color: white;
  border: none;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  margin-right: 8px;
  font-size: 0.9rem;
  transition: background 0.2s;
}

.fialovy_button:hover {
  background: #9454e7ff;
}

.audio-button-cviceni {
    background: none;
    color: #c1c1c1;
    border: none;
    padding: 5px 5px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.3s;
    margin: 0 5px;
}

.share-btn {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(6px);
    border-radius: 160px;
    width: 130px;
    height: 45px;
    place-items: center;
    cursor: pointer;
    transition: 0.2s ease;
    color: white;
    font-size: 1.2rem;
    overflow: hidden;
  }

  .share-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.05);
  }

  .toastinfo {
    position: fixed;
    bottom: 20px;
    left: 50%;
    background: rgb(40, 40, 40);
    color: white;
    padding: 10px 16px;
    border-radius: 10px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 10;
  }

  .toastinfo.show {
    opacity: 1;
    transform: translateX(0%) translateY(-10px);
  }

    /* ✨ Efekt záblesku (glint) */
  .share-btn::after {
    content: "";
    position: absolute;
    top: -100%;
    left: -150%;
    width: 200%;
    height: 300%;
    background: linear-gradient(
      120deg,
      transparent 0%,
      rgba(255, 255, 255, 0.6) 50%,
      transparent 100%
    );
    animation: shine 10s infinite;
  }

  @keyframes shine {
    0% {
      left: -200%;
    }
    20% {
      left: -200%;
    }
    30% {
      left: 150%;
    }
    100% {
      left: 150%;
    }
  }

  .lesson-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
  }
/*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;
        word-break: break-word;
        overflow: hidden;
    }

    /* Oblast pro zpětnou vazbu */
    #feedback {
        color: #f2f2f2;
        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: #333;
        color: #ddd;
        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: #ffeb3b;
        color: black;
    }

    .disabled {
        cursor: not-allowed;
    }

    /* Formulář pro zadání odpovědi */
    .input-cviceni-start {
        padding: 10px;
        border-radius: 5px;
        border: 1px solid #444;
        background-color: #333;
        color: white;
        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: #444;
        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;
    }

.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);
}

.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 #7ca2e0;
    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, #7296cf, #62a7c7);
    color: #222d3f;
    font-size: 20px;
    font-weight: bold;
    padding: 10px 20px;
    border-radius: 8px;
}

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

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

.word-description {
    font-style: italic;
    margin: 10px;
    color: #ececec;
}

/* TOAST NOTIFIKACE */
.toast {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  width: 95%;
  max-width: 960px;
  background-color: #111111;
  color: #fff;
  border-radius: 32px 32px 0 0;
  overflow: hidden;
  box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.4);
  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: flashGreen 1.2s forwards;
}
.toast.fault {
  animation: flashRed 1.2s forwards;
}

@keyframes flashGreen {
  0% { background-color: #14532d; }
  100% { background-color: #111; }
}

@keyframes flashRed {
  0% { background-color: #7f1d1d; }
  100% { background-color: #111; }
}

/* 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: #222;
}

/* 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: #333;
  color: white;
  cursor: pointer;
  transition: background 0.3s;
}

.action-btn:hover {
  background-color: #555;
}
.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;
  }
}

/* CSS pro přechod cvičení */

/* Výchozí stav */
#exercise-wrapper {
  position: relative;
}

#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;
}

.button-napoveda-overit {
  gap: 10px;
  display: flex;
}

.back-button {
  font-size: 22px;
  padding: 10px;
  border: none;
  background: none;
  cursor: pointer;
  color: #b6b6b6ff;
  transition: transform 0.2s ease, color 0.2s ease;
}

.back-button:hover {
  transform: translateX(-4px);
  color: #ffffffff; /* změní barvu na modrou při hoveru */
}

#toast.collapsed {
  transform: translateX(-50%) translateY(calc((var(--toast-height) - 50px)));
}

#toast {
  --toast-height: 100%; /* nastav výšku lišty dle potřeby */
}

#toast-toggle {
    position: absolute;
    top: 20px;
    right: 20px;
    /* left: 50%; */
    transform: translateX(-50%);
    cursor: pointer;
    font-size: 18px;
}

.imaginer-container {
  background-size: cover;
  background-position: center;
  filter: brightness(0.5);
  background-repeat: no-repeat;
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
}

/* KARTIČKY------------------------------------------------------------------------*/
.completion-popup {
    display: none;
    width: 250px;
    position: fixed;
    top: 50%;
    left: 50%;
    background-color: rgba(34, 34, 34, 0.89); /* Tmavé pozadí */
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    z-index: 9; /* Ujistíme se, že je nad kartičkami */
    position: absolute;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

#completion-popup.visible {
  display: block;
  opacity: 1;
  animation: flipIn 0.6s ease forwards;
}

@keyframes flipIn {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) rotateY(90deg) scale(0.8);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) rotateY(0deg) scale(1);
  }
}

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

.end-card-container.visible {
    position: absolute;
    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;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    will-change: transform, opacity; /* GPU akcelerace */
    user-select: none;
}

@media (max-width: 350px), (max-height: 600px) {
  .card-container {
    width: 200px;
    height: 340px;
  }
}

.card-container.before-return {
    transform: translate(-50%, -120%) rotate(-15deg);
    opacity: 0;
}

.tlacitka {
    display: flex;
    flex-direction: column;
    align-items: 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 */
    flex-direction: column;
    overflow: hidden;
    z-index: -2;
}

.front {
    background: linear-gradient(120deg,rgb(55, 55, 87),rgb(41, 57, 77));
    color: #ffffff;
    box-shadow: 0 2px 5px rgb(27, 27, 27);
    display: inline-block; /* Umožní transformace */
    word-wrap: break-word; /* Umožní zalamování textu mezi slovy */
}

.back {
    background: linear-gradient(120deg,rgb(73, 73, 114),rgb(52, 71, 95));
    color: #ffffff;
    transform: rotateY(180deg);
    box-shadow: 0 2px 5px rgb(26, 26, 26);
    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, #d32f2f4f 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, #388e3c57 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: white;
    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;
    margin: 10px auto;
}

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

#karticky-mode-panel {
    position: absolute;
    left: 10px; /* Změněno z right na left */
    top: 140px;
    background: #1F1F1F;
    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: 100;
}

.audio-icon-karticky {
  cursor: pointer;
  top: 0;
  right: 0;
  margin: 30px;
  position: absolute;
}

.slovicko-karticky,
.preklad-karticky {
  margin: 10px;
}

.card-controls { 
  top: 80%;
  position: absolute;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.return-animation {
    animation: returnCard 0.45s ease-out forwards;
}

@keyframes returnCard {
    0% {
        transform: translate(-50%, -150%) rotate(-10deg);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, -50%) rotate(0deg);
        opacity: 1;
    }
}


.karty-btn {
  pointer-events: auto;
  width: 100px;
  height: 64px;
  border-radius: 35px;
  border: none;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;

  box-shadow: 0 4px 20px rgba(0,0,0,0.12);
  transition: 
      box-shadow .15s ease, 
      transform .15s ease,
      background-color .15s ease;
  gap: 7px;
}

.karty-back {
    background: #282828;
    color: #fff;
}

.karty-next {
    background: #282828;
    color: #fff;
}

.karty-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.18);
}

.karticky-mode-polozky {
    margin-bottom: 1em;
    position: relative;
}

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

/*hudba*/
.music-button {
    position: relative;
    background-color: #4e4e4e;
    border: none;
    color: white;
    padding: 10px 12px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 18px;
    transition: background-color 0.3s, transform 0.2s;
}
  
.music-button:hover {
    background-color: #2980b9;
}
  
.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 #5f5f5f; /* Tmavší okraje */
        background-color: #333; /* Tmavé pozadí tlačítka */
        color: #ffffff; /* 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: #ffeb3b; /* 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, #2a2a44, #222d3f, #2a2a44);
        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(150, 120, 20), rgb(180, 40, 40));
    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(155, 91, 238);
    margin-bottom: 0.7rem;
    }

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

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

    .uvodni-fotka-kontakty {
        display: flex;
        align-items: center;
        justify-content: center;
        background-image: url(fotky/kontakty-obrazek.jpg);
        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.493);
        border-radius: 8px;
        animation: posunPozadi 15s ease-in-out infinite;
        width: 100%;
    }

/*CESTUJEME S JINDŘICH BANK (staré)---------------------------------------------------------------------*/

.features2 {
    background: linear-gradient(135deg, rgb(41 41 41 / 40%), rgb(54 54 54 / 60%));
    padding: 2rem;
    border-radius: 1rem;
    max-width: 400px;
    margin: 20px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
    color: #f7f7f7;
    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.jpg');
  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: #ffcc70;
}

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


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

  details.faq {
    border-radius: 10px;
    background:rgba(88, 88, 88, 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(92, 92, 92);
  }

  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: #222;
    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 */
  }

  .overlay3 {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.637);
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 900;
    margin-left: 250px;
  }

  /*mobilní zobrazení*/
  @media (max-width: 1000px) {
    .overlay3 {
      margin-left: 0;
    }
  }

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

  .overlay3.active {
    display: block;
  }

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

.top-bar {
  background: linear-gradient(135deg,rgba(34, 34, 34, 0.404),rgba(41, 41, 41, 0.384));
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  padding: 10px;
  text-align: center;
  color: #fff;
  top: 30px;
  bottom: 30px;
  position: relative;
  border-radius: 16px;
}

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

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

.year-buttons {
  gap: 8px;
  display: flex;
  justify-content: center;
}

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

.slideshow {
  overflow: hidden;
  width: 100%;
  max-width: 100%; /* jistota */
  height: 180px;
  position: relative;
}
.slideshow-track {
  display: flex;
  flex-wrap: nowrap;
  animation: scroll-left 30s linear infinite;
}
.slideshow 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: 4rem;
    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;
}

.form3 {
  max-width: 600px;
  margin: 20px auto;
  padding: 20px;
  background-color: #1e1e1e;
  border-radius: 8px;
  color: #fff;
  font-family: Arial, sans-serif;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height 0.5s ease, opacity 0.5s ease, padding 0.5s ease;
}

.form3.active {
  height: 400px;
  opacity: 1;
  padding: 20px;
}

.form3 input[type="text"], .form3 textarea {
  width: 90%;
  padding: 8px 10px;
  border: none;
  border-radius: 5px;
  background-color: #333;
  color: #fff;
  font-size: 1rem;
  resize: vertical;
  margin: 10px;
}

.form3 button {
  margin-top: 15px;
  width: 100%;
  padding: 10px;
  background-color: #f0a500;
  border: none;
  border-radius: 5px;
  color: #1e1e1e;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.2s;
}

.novinka {
  background-color:rgb(61, 61, 61);
  border-left: 5px solid rgb(243, 145, 33);
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: 8px;
  transition: transform 0.2s;
  position: relative;
}

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

.novinka h3 {
  margin: 0 0 0.3rem;
  font-size: 1.3rem;
  color:rgb(255, 199, 147);
}

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

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

    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
    white-space: normal;
}

.new-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: #f0a500;
    color: #1e1e1e;
    font-size: 0.75rem;
    font-weight: bold;
    padding: 3px 6px;
    border-radius: 4px;
    text-transform: uppercase;
    animation: pulse-interval 5s;
}

@keyframes pulse-interval {
  0%, 66% { transform: scale(1); opacity: 0.8; }
  33% { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(1); opacity: 0.8; }
}

/*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/cerny-papir-pomackany-test.php.jpg");
    background-size: cover;
    filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, 0.3));
}

#testContainer p {
    font-size: 18px;
    margin: 10px 0;
}
#testContainer input {
    width: 95%;
    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: white;
    border: 1px solid #444;
    background-color: #333;
    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(160, 160, 160); /* Nastaví barvu čáry */
    margin: 20px 0;       /* Nastaví odsazení okolo čáry */
    border-radius: 5px;      /* Zaoblí konce čáry */
}

.mode-select {
  text-align: center;
  margin: 20px auto;
}

.teacher-options {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.teacher {
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-align: center;
  padding: 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  width: 70px;
}

.teacher img {
  width: 20px;
  display: block;
  margin: 0 auto 5px;
}

.teacher span {
  display: block;
  font-size: 14px;
  margin-top: 5px;
}

.teacher:hover {
  transform: translateY(-4px) scale(1.05);
}

.teacher.selected2 {
  background: rgb(109 109 109 / 22%);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.27);
  transform: scale(1.1);
}

/*PRIHLASENI/REGISTRACE------------------------------------------------------------------*/

    .login-form {
      position: relative;
      z-index: 1;
      background: var(--color-card-dark);
      padding: 30px 40px;
      border-radius: 12px;
      background-color: rgb(18 18 18 / 66%);
      box-shadow: 0 0 20px #38383863;
      width: 100%;
      max-width: 400px;
      box-sizing: border-box;
      margin: 100px auto;
      display: flex;
      flex-direction: column;
      align-content: center;
      flex-wrap: wrap;
      align-items: stretch;
    }

    .login-form input[type="text"],
    .login-form input[type="password"],
    .login-form input[type="file"] {
      width: 90%;
      padding: 12px;
      margin: 10px 0;
      border-radius: 8px;
      border: 1px solid #333;
      background-color: #2a2a2a;
      color: white;
      font-size: 16px;
    }

    .error-message {
      background-color: #501;
      color: #fcc;
      padding: 10px;
      margin-bottom: 15px;
      border-radius: 6px;
      text-align: center;
    } 

    .oauth-section {
      text-align: center;
      margin-top: 13px;
    }

.oauth-section p {
  color: #ccc;
  margin-bottom: 16px;
}

.oauth {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  padding: 10px 18px;
  border-radius: 8px;
  font-weight: 500;
  text-decoration: none;
  margin: 6px;
  transition: all 0.25s ease;
  color: black;
  background-color: #444;
}

.oauth img {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  filter: brightness(1.2);
}

.oauth.google {
  background-color: #DB4437;
}

.oauth.google:hover {
  background-color: #c23321;
}

.oauth.seznam {
  background-color: #d20f26;
}

.oauth.seznam:hover {
  background-color: #a40c1e;
}

.oauth.discord {
  background-color: #5865F2;
}

.oauth.discord:hover {
  background-color: #4752c4;
}

#typewriter {
  text-align: center;
  font-size: 30px;
  margin-bottom: 20px;
  font-weight: 600;
  letter-spacing: 1px;
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
}

#cursor {
  display: inline-block;
  margin-left: 2px;
  animation: blink 1s step-start infinite;
}

@keyframes blink {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}

.header-wrapper {
    width: 100%;
    height: 70px;
    background: linear-gradient(to bottom, #121212 0%, #12121200 100%);;
}

.logo-login {
    width: 200px; /* Nastaví šířku loga */
    height: auto; /* Automaticky upraví výšku podle šířky */
    margin: 20px;
}

.close-button {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 30px;
  color: #ccc;
  text-decoration: none;
  font-weight: bold;
  z-index: 10;
  transition: color 0.2s ease;
}

.close-button:hover {
  color: white;
}

.btn2 {
    display: inline-block;
    padding: 10px 15px;
    margin-top: 10px;
    font-size: 16px;
    background: linear-gradient(45deg, #b851e0, #e2536b);
    color: #1e1e2e;
    font-weight: bold;
    text-decoration: none;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
}
.btn2:hover {
    background: linear-gradient(45deg, #e2536b, #b851e0);
    transform: scale(1.05);
}

@media (max-width: 768px) {
  .header-wrapper {
      display: none;
  }
}

/*UCET.PHP-----------------------------------------------------------------------------------------*/

  .profilovka{
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 10px;
  }

  .ucet-velky-box {
    display: flex;
    flex-wrap: wrap;
  }

  #sessions-table {
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
      border-radius: 12px;
      overflow: hidden;
      background-color: #18181877;
      box-shadow: 0 4px 15px rgba(0,0,0,0.4);
  }

  #sessions-table th,
  #sessions-table td {
      padding: 12px 15px;
      text-align: left;
      color: #f0f0f0;
  }

  #sessions-table th {
      background-color: #35353591;
      font-weight: bold;
  }

  #sessions-table tr:hover {
      background-color: #411d5046;
      transition: background-color 0.2s;
  }

  #sessions-table tr:nth-child(even) {
      background-color: #1f1f1f;
  }


/*DOMU------------------------------------------------------------------------------------------*/

.overlay2 {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  padding: 20px;
}

.welcome-box {
  background-color: rgb(14, 14, 14);
  border-radius: 12px;
  padding: 40px 30px;
  box-shadow: 0 0 30px rgba(136, 100, 150, 0.2);
  text-align: center;
  animation: zoomIn 1s ease-out;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
}

#confetti-canvas {
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 10000;
}

.welcome-box h1 {
  margin: 0;
  font-size: 28px;
  color: #6200EE;
}

@keyframes zoomIn {
  from { transform: scale(0.9); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

/* MOJE-CVICENI.PHP------------------------------------------------------------------------------*/

.stats-wrapper {
    margin-bottom: 25px;
}

.stats-title {
    font-size: 1.4rem;
    font-weight: 600;
    color: #c9a0ff;
    margin-bottom: 12px;
    letter-spacing: 0.5px;
}

.stats-container {
    display: flex;
    gap: 20px;
    padding: 15px;
    border-radius: 14px;
    background: linear-gradient(145deg, #1b1b1f, #222226);
    flex-wrap: wrap;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5);
}

.stat-card2 {
    flex: 1 1 200px;
    background: #262630;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    transition: transform 0.2s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.stat-card2:hover {
    transform: translateY(-4px);
    background: #2f2f3a;
    box-shadow: 0 0 15px rgba(180, 130, 255, 0.5);
}

.stat-icon {
    font-size: 2rem;
    color: #b482ff;
    margin-bottom: 10px;
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

.stat-card:hover .stat-icon {
    color: #d3b0ff;
    text-shadow: 0 0 8px rgba(211, 176, 255, 0.7);
}

.stat-number {
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
}

.stat-label {
    font-size: 0.95rem;
    color: #aaa;
}

.section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.4rem;
    font-weight: 600;
    color: #d3b0ff;
    margin: 30px 0 10px;
    letter-spacing: 0.5px;
    padding-bottom: 6px;
    border-bottom: 2px solid rgba(180, 130, 255, 0.4);
}

.section-title i {
    font-size: 1.2rem;
    color: #b482ff;
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

.section-title:hover i {
    color: #d3b0ff;
    text-shadow: 0 0 8px rgba(211, 176, 255, 0.6);
}

.section-subtitle {
    font-size: 0.95rem;
    color: #aaa;
    margin-bottom: 20px;
}

/* TVORBA ---------------------------------------------------------------------------------*/

.buttonstvorba {
    display: flex;
    gap: 25px;
    flex-wrap: wrap;
    margin-top: 15px;
}

.notice {
    margin-top: 8px;
    font-size: 14px;
    color: #777;
    display: none;
}

/* plus/minus pod tlačítky */
.button-info {
    margin: 15px 6px 8px;
    font-size: 14px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

.button-info span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #555;
}

.button-info .minus {
    color: #e26d6dff;
}

.button-info .plus {
    color: #6ec454ff;
}

.tvobrabox {
    display: flex;
    align-items: center;
    flex-direction: column;
    z-index: 1;
    position: relative;
}

.button-with-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 250px;
    border: 2px solid #797979;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.1); /* lehce průhledné pozadí */
    
    /* efekt rozmazání objektů za elementem */
    backdrop-filter: blur(2px); 
    -webkit-backdrop-filter: blur(2px); /* pro Safari */
    
    /* jemný stín pro kontrast */
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    
    padding: 15px;
    transition: all 0.3s ease;
}

/* EDITOR --------------------------------------------------------------------------------------------------------------------
/* --- Celkový tmavý režim --- */
.slovicko input, .slovicko textarea, .slovicko select, .slovicko button {
    background-color: #33334d;
    color: #e0e0ff;
    border: 1px solid #555577;
    border-radius: 6px;
    padding: 6px 8px;
    box-sizing: border-box;
    min-width: 50px;
}

.editor-data-card input[type="text"],
.editor-data-card textarea,
.editor-data-card select {
    background-color: #33334d;
    color: #e0e0ff;
    border: 1px solid #555577;
    border-radius: 6px;
    padding: 6px 8px;
    width: 100%;
    box-sizing: border-box;
}

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

.cviceninazevinput {
    font-size: 1.2em;
    font-weight: bold;
}

.btn1 .coming-soon{
    position: absolute;
    top: -10px;
    right: -10px;
    background: #ff8800;
    border-radius: 6px;
    padding: 2px 6px;
    font-size: 10px;
}

.editor-data-card textarea {
    resize: vertical;
}

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

/* Slovíčka */
#slovickabox {
    display:flex; 
    flex-direction:column; 
    gap:8px;
}

.slovicko {
    border: 1px solid #555577;
    padding: 8px;
    border-radius: 6px;
    background: #2a2a3d;
    display:flex; 
    gap:8px; 
    align-items:flex-start;
    transition: background 0.2s, border 0.2s;
}

.slovicko.selected {
    border: 2px solid #9a80ff;
    background: #3a2a5d;
}

/* Drag handle */
.drag_handle {
    user-select: none;
    cursor: grab;
    padding: 6px 8px;
    border-radius: 4px;
    background: #444466;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    line-height:1;
    color: #e0e0ff;
}
.drag_handle:active { cursor: grabbing; }

/* Insert point */
.insert-point {
    height: 12px;
    cursor: pointer;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.insert-point .insert-plus {
    height: 24px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.15s ease;
    cursor: pointer;
    opacity: 0;
}

.insert-point::after {
    content: "+";
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    color: #9a80ff;
    font-weight: bold;
    transition: 0.15s;
}

.insert-point.active {
    background: #444466;
}

.insert-point.active::after {
    opacity: 1;
}

.insert-plus {
    gap: 8px;
}

.insert-plus .samotne-plus,
.insert-plus .insert-plus-lesson {
    background: #9a80ff;
    color: #fff;
    height: 24px;
    width: 90px;
    display: flex;
    justify-content: center;
    border-radius: 4px;
    font-size: 13px;
    z-index: 10;
}

.insert-point:hover .insert-plus {
    opacity: 1;
}

/* Lekce */
.slovicko.lekce-start {
    background-color: #48318b88;
}

.slovicko.lekce-end {
    background-color: #422e807a;
}

/* Barvy lekcí */
.lesson-color-1 { --lesson-bg: #4caf4fff; }
.lesson-color-2 { --lesson-bg: #e91e62ff; }
.lesson-color-3 { --lesson-bg: #f44336ff; }
.lesson-color-4 { --lesson-bg: #ff9900ff; }
.lesson-color-5 { --lesson-bg: #3f51b5ff; }

.slovicko.in-lesson,
.slovicko.lekce-start,
.slovicko.lekce-end {
    border-left: 4px solid var(--lesson-bg);
}

/* Skrytí inputů u lekce */
.slovicko.lekce-start input.slovicko_vyslovnost,
.slovicko.lekce-start input.slovicko_fotka,
.slovicko.lekce-start textarea.slovicko_poznamky,
.slovicko.lekce-start input.slovicko_to,
.slovicko.lekce-end input.slovicko_vyslovnost,
.slovicko.lekce-end input.slovicko_fotka,
.slovicko.lekce-end textarea.slovicko_poznamky,
.slovicko.lekce-end input.slovicko_to {
    display: none;
}

/* Kontejner */
#stav_publikovani {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
}

/* Styl přepínače */
.switch {
    position: relative;
    display: inline-block;
    width: 52px;
    height: 28px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* Posuvný panel */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .3s;
    border-radius: 34px;
}

/* Kolečka uvnitř */
.slider:before {
    position: absolute;
    content: "";
    height: 22px;
    width: 22px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .3s;
    border-radius: 50%;
}

/* Zapnuto */
.switch input:checked + .slider {
    background-color: #28a745; /* zelená */
}

.switch input:checked + .slider:before {
    transform: translateX(24px);
}

/* Text vedle */
.switch-text {
    font-weight: 600;
}

@keyframes glowSave {
    0% {
        box-shadow: 0 0 5px #ffffff7a, 0 0 10px #f9ffaa80, 0 0 15px #ffec8083;
    }
    50% {
        box-shadow: 0 0 10px #ffffff7e, 0 0 20px #ffc6a080, 0 0 30px #ff808081;
    }
    100% {
        box-shadow: 0 0 5px #ffffff81, 0 0 10px #a0cfff75, 0 0 15px #80c0ff7c;
    }
}

.save-alert {
    animation: glowSave 2s infinite alternate;
}

.slovicko .media-container {
    display: flex;
    flex-direction: row;
    gap: 10px;
    width: 100%;
}

/* Obrázek */
.slovicko img {
    max-width: 100%;   /* nepřetáhne rodiče */
    max-height: 150px; /* omezení výšky */
    object-fit: contain; /* zachová poměr stran */
    border-radius: 4px;
}

/* Audio */
.slovicko .media-container audio {
    width: 100%;           /* vyplní dostupnou šířku rodiče */
    max-width: 250px;      /* desktop limit */
    height: 30px;          /* kompaktní výška */
    border-radius: 4px;    /* jemné zaoblení */
    outline: none;
}

@media (max-width: 1000px) {
    .slovicko {
        flex-direction: column; /* jednotlivé inputy pod sebe */
        align-items: stretch;
        overflow-x: auto;
    }

    .slovicko .drag_handle {
        margin-bottom: 4px;
    }

    .insert-point .insert-plus .samotne-plus,
    .insert-point .insert-plus .insert-plus-lesson {
        width: 100%; /* plus tlačítka vyplní řádek */
        font-size: 12px; /* menší písmo pro mobil */
    }

    .cviceni_tlacitka {
        flex-direction: column; /* tlačítka pod sebe */
    }

    .input_zacatek {
        flex-direction: column; /* název, jazyk, popis pod sebe */
    }

    #specialni_funkce_box {
        flex-direction: column; /* tlačítka funkce pod sebe */
        gap: 8px;
    }
}

/* --- Overlay (starý název)--- */
#overlay2 {
    width: 100%;
    height: 100%;
    display: none;
    justify-content: center;
    align-items: center;
}

/* --- Panel --- */
.panelUI {
    background: none;
    border: 2px solid #611c93;
    padding: 30px 40px;
    border-radius: 20px;
    width: 500px;
    max-width: 90%;
    box-shadow: 0 0 30px rgba(100, 100, 255, 0.4);
    color: #ffffff;
    text-align: center;
    position: relative;
    transform-origin: left;
    animation: growPanel 0.6s ease-out forwards;
    margin: 15px;
    background: #7c11c90d;
}

@keyframes growPanel {
    to {
        transform: scaleY(1);
    }
}

/* --- Nadpis --- */
.panelUI h2 {
    margin-bottom: 20px;
    font-size: 1.6em;
    color: #9135ff;
}

.panelUI p {
    margin-bottom: 20px;
    font-size: 1em;
    color: #ddddff;
}

/* --- Textarea --- */
.textarea_ai {
    width: 90%;
    min-height: 120px;
    padding: 12px;
    border-radius: 12px;
    border: none;
    background: rgba(255,255,255,0.05);
    color: #ffffff;
    font-size: 1em;
    resize: vertical;
    margin-bottom: 20px;
    box-shadow: inset 0 0 10px rgba(100, 100, 255, 0.2);
}

/* --- Result / Preview Box --- */
.result-ui, .previewBox-ui {
    margin-top: 20px;
    text-align: left;
}


/* --- Speciální vzhled AI ikony --- */
#sendBtn::before {
    content: "\f544"; /* ikona robota (FontAwesome) */
    font-family: "Font Awesome 6 Free"; 
    font-weight: 900;
    margin-right: 8px;
    animation: pulse 2s infinite;
    display: inline-block;
}

/* --- Scrollbar pro textarea --- */
.textarea_ai::-webkit-scrollbar {
    width: 8px;
}

.textarea_ai::-webkit-scrollbar-thumb {
    background: rgba(155, 128, 255, 0.5);
    border-radius: 4px;
}

.textarea_ai::-webkit-scrollbar-track {
    background: rgba(255,255,255,0.05);
}

.apiUsageInfo {
    position: absolute;
    top: 10px;
    right: 20px;
    background: rgba(0, 0, 0, 0.3);
    padding: 4px 8px;
    border-radius: 8px;
    font-size: 0.9em;
    color: #ffffff;
    backdrop-filter: blur(4px);
}

.charInfo {
    margin-top: 6px;
    font-size: 0.9em;
    color: #9b80ff;
}

.textarea_ai.too-long {
    border: 2px solid #ff4d4d;
    box-shadow: 0 0 10px rgba(255, 77, 77, 0.6);
    background: rgba(255, 255, 255, 0.05);
}

.charInfo.error {
    color: #ff4d4d;
}


.no-select {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.obrazky-box {
    display: none;
    padding: 10px;
    border: 2px solid #611c93;
    border-radius: 10px;
    background: #7c11c90d;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    position: relative;
    box-shadow: 0 0 30px rgba(100, 100, 255, 0.4);
}

.vyber_fotek {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-evenly;
}

/* Blok slovíčka */
.word-block {
    background-color: #2a2a3d;
    border: 2px solid #6a0dad;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
    position: relative;
    min-width: 290px;
}

/* Tlačítko zavřít blok */
.word-block .close-btn {
    position: absolute;
    top: 5px;
    right: 10px;
    background: #b266ff;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    cursor: pointer;
    font-weight: bold;
    line-height: 18px;
    text-align: center;
    padding: 0;
}

.close-btn-obrazky {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #b266ff;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    cursor: pointer;
    font-weight: bold;
    line-height: 18px;
    text-align: center;
    padding: 0;
}

/* Název slovíčka */
.word-block h4 {
    margin: 0 0 8px 0;
    color: #d1b3ff;
    font-size: 1em;
    max-width: 290px;      /* nebo width */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Mřížka obrázků */
.img-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.img-option {
    position: relative;
    width: 80px;
    height: 80px;
    cursor: pointer;
    border-radius: 6px;
    overflow: hidden;
    border: 2px solid transparent;
    transition: transform 0.2s, border-color 0.2s;
}

.img-option img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.img-option.selected {
    border-color: #b266ff;
    transform: scale(1.1);
}

/*----------------------------------------------------------------------------- MOJE-SLOVICKA */

#wordList {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.word-item-slovicka {
    display: flex;
    flex-direction: column;
    border: 2px solid #554173;
    border-radius: 8px;
    padding: 12px;
    background: #5d308514;
    transition: box-shadow 0.2s ease;
}

.word-item-slovicka .word-text {
    display: flex;
    justify-content: space-between;
    font-weight: bold;
    color: #ecececff;
}

.word-item-slovicka .word-header {
    display: flex;
    justify-content: space-between;
    font-weight: bold;
    margin-bottom: 6px;
}

.word-item-slovicka .word-lang {
    font-size: 0.85em;
    color: #555;
}

.word-item-slovicka .word-translation {
    color: #c4c4c4ff;
}

.word-progress {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.word-progress progress {
    flex: 1;
    height: 12px;
}

.word-actions {
    display: flex;
    gap: 8px;
    margin-bottom: 6px;
}

.word-actions button {
    cursor: pointer;
    padding: 4px 8px;
    border: none;
    border-radius: 4px;
    background: #2d213d;
    transition: background 0.2s;
    color: #ffffff;
}

.word-actions button:hover {
    background: #4f3a6bff;
}

.word-date {
    font-size: 0.8em;
    color: #777;
    text-align: right;
}

.tridici_pole {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom:20px;
}

.word-card .downcard {
    display: flex;
    justify-content: space-between;
    top: 5px;
    position: relative;
}

.flex {
    display: flex;
}