@media screen and (max-width: 768px) {
  .rezervace-layout {
    display: flex;
    flex-direction: column;
    padding: 10px;
  }

  .stred {
    height: 800px;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    overflow: hidden;
  }

  .prava-strana {
    margin-top: 0;
    position: relative;
    top: 0;
  }

 .hlavicka-menu {
  display: none;
  flex-direction: column;
   font-family: 'Helvetica;
}

.hlavicka-menu.visible {
  display: flex;
  
}
  .mesic-nav {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
  }

  .mesic-nav a,
  .mesic-nazev {
    font-size: 1.2em;
  }

  .kalendar-grid {
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
    width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }

/* Mobilní zobrazení kalendáře */
@media (max-width: 600px) {
  .kalendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr); /* 7 dní v řádku */
    gap: 4px; /* mezery mezi dny */
  }

  .den {
    padding: 8px 0; /* méně paddingu */
    font-size: 1em; /* text menší, ale čitelný */
    min-width: 0; /* aby se zabránilo přetečení */
    box-sizing: border-box;
  }
}

  .den,
  .den-hlavicka {
    font-size: 0.8em;
    padding: 8px;
    word-break: break-word;
    text-align: center;
  }

  .mesic-nazev {
    margin: 0;
  }

  .uvitani-box p,
  .aktuality-box p {
    font-size: 0.9em;
  }

  body {
    overflow-x: hidden;
  }
}

@media screen and (max-width: 480px) {
  .den {
    font-size: 0.75em;
    padding: 6px;
  }

  .mesic-nav a,
  .mesic-nazev {
    font-size: 1em;
  }
}

@media screen and (min-width: 769px) {
  .menu-toggle {
    display: none;
  }
}

@media (max-width: 768px) {
  .rezervace-layout {
    display: block;
    padding: 15px;
    max-width: 100%;
  }

  .leva-strana,
  .stred,
  .prava-strana {
    width: 100%;
    margin-bottom: 20px;
  }
}

/* Sloty pro mobil */
@media (max-width: 600px) {
  .slot-box {
    display: flex;
    flex-direction: column; /* nebo row, pokud se vejde */
    align-items: stretch;
    margin-bottom: 10px;
  }

  .cas-box {
    font-size: 1.2em;
    padding: 12px;
    width: 100%;
    box-sizing: border-box;
  }

  .tema-stitek {
    font-size: 1em;
    padding: 6px;
    margin-top: 4px; /* pokud column */
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
}

