/* ZÁKLADNÁ ŠTRUKTÚRA A RESET */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { padding: 20px; }

/* HLAVIČKA A NAVIGÁCIA */
.hlavicka-rozvrhu { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 15px; margin-bottom: 20px; }
.hlavicka-rozvrhu h1 { margin-bottom: 0; }
.navigacia-tyzdnov { display: flex; gap: 10px; }
.btn-nav { display: inline-block; padding: 8px 16px; text-decoration: none; cursor: pointer; }

/* MRIEŽKA ROZVRHU (DESKTOP) */
.rozvrh-obal { width: 100%; overflow-x: auto; }
.rozvrh-tyzden { display: flex; flex-direction: column; gap: 8px; min-width: 1000px; }
.den-riadok { display: grid; grid-template-columns: 150px repeat(720, 1fr); align-items: stretch; min-height: 70px; position: relative; }
.den-info { grid-column: 1; display: flex; flex-direction: column; justify-content: center; padding-right: 15px; }

/* UDALOSTI */
.udalost {
    grid-column-start: calc(var(--start-min) + 2);
    grid-column-end: span var(--duration);
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    text-align: center; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
    padding: 2px 4px; margin: 4px 0;
}
.udalost .cas { display: block; }
.udalost .nazov { display: block; margin-top: 2px; }

/* VIDITEĽNOSŤ ELEMENTOV (DESKTOP) */
.cas-skryty-desktop { display: none; }
.nazov-cely { display: none; }
.hlavicka-casov { min-height: auto; }

/* =========================================
   MOBILNÁ VERZIA (ROZLOŽENIE A ŠTRUKTÚRA)
   ========================================= */
@media (max-width: 800px) {
    .hlavicka-casov { display: none !important; }
    .rozvrh-tyzden { min-width: 100%; }
    .den-riadok { display: flex; flex-direction: column; padding: 15px; margin-bottom: 20px; gap: 8px; }
    .den-info { display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 12px; padding-left: 0; padding-bottom: 10px; margin-bottom: 10px; }
    .udalost { grid-column-start: auto !important; grid-column-end: auto !important; flex-direction: row; justify-content: flex-start; align-items: center; gap: 15px; padding: 12px 10px; text-align: left; }
    .udalost .cas { min-width: 90px; }
    .cas-skryty-desktop { display: block; }
    .nazov-cely { display: inline; }
}