/* Obecné nastavení */
body {
    font-family: Arial, sans-serif;
    background-color: #faf7f0; /* Světle krémová */
    color: #3e2723; /* Tmavě hnědá */
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 100vh;
}

/* Hlavní obsah - musí mít flexbox pro centrování */
.main {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    max-width: 1200px;
    margin: 0 auto; /* Zarovná obsah na střed */
    min-height: 80vh; /* Aby měl dostatečnou výšku pro centrování */
    text-align: center;
}




/* Kontejner pro celý kalendář */
.calendar-container {
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* Řádek kalendáře – obsahuje legendu a dny */
.calendar-row {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
  justify-content: center;
  align-items: center; /* pokud chceš vertikálně také centrovat */
}
/* Jedna kostička pro den (zvětšená na dvojnásobek) */
.calendar-cell {
  border: 1px solid #000;
  width: 250px;  /* dvojnásobná šířka */
  height: 250px; /* dvojnásobná výška */
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
 margin: 5px;
}
/* Hlavička kostičky s datem a dnem */
.cell-header {
  text-align: center;
  font-size: 0.9em;
  /*border-bottom: 1px solid #ccc;*/
  padding: 2px;
}
/* Kontejner pro periodické řádky uvnitř kostičky */
.cell-periods {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
/* Jednotlivá třetina (řádek) */
.cell-period {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 300;
  font-size: 0.9em;
  /*border-top: 1px solid #ccc;*/
  color: black;
  box-shadow: inset 0px 4px 15px rgba(200, 200, 200, 0.3);
}
/* Barvy pozadí pro jednotlivé období */
.morning {
  background-color: #fcb679; 
}
.noon {
  background-color: #a4db8f; 
}
.evening {
  background-color: rgba(255, 202, 50, 0.6); 
}




@media (max-width: 768px) {
	h1 {
	    font-size: 34px;
	}
	h2 {
	    font-size: 26px;
	}
	h3 {
	    font-size: 24px;
	}	
	h4 {
	    font-size: 18px;
	}	
	h5 {
	    font-size: 16px;
	}
	h3 {
		margin-bottom: 5px;
	}
	p {
		margin-bottom: 5px;
	}
}

/* Formuláře */
form {
    display: flex;
    flex-direction: column;
}

/* Pole formuláře */
input[type="password"] {
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #b71c1c; /* Bordó */
    border-radius: 5px;
    font-size: 16px;
}

/* Tlačítka */
button {
    background: #b71c1c; /* Bordó */
    color: #ffffff;
    border: none;
    padding: 10px;
    font-size: 16px;
    border-radius: 5px;
    cursor: pointer;
}

button:hover {
    background: #7f0000; /* Tmavší bordó */
}

/* Chybová zpráva */
.error {
    color: #d32f2f;
    font-weight: bold;
}

/* Kontejner pro tabulku */
.table-container {
    display: flex;
	justify-content: center;
    align-items: center;
    flex-direction: column;
	margin: 0 auto;
	background-color: #ff7043;
    width: 90%;
    max-width: 1200px;
    background: #ffffff; /* Bílý podklad */
    padding: 20px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    margin-bottom: 20px; /* Mezera mezi tabulkou a loginem */
    text-align: center;
	box-sizing: border-box;
}

/* Styl tabulky */
.calendar-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    text-align: left;
}

.calendar-table thead tr {
    background-color: #b71c1c;
    color: #ffffff;
}

.calendar-table th, .calendar-table td {
    padding: 12px;
    border: 1px solid #ddd;
}

.calendar-table tbody tr:nth-of-type(even) {
    background-color: #f3f3f3;
}

/*.calendar-table tbody tr:hover {
    background-color: #ffe082;
}*/

.calendar-table td.week-cell,
.calendar-table td.date-cell {
    background-color: #ffffff !important;
}


.day-separator td {
        border-bottom: 2px solid #333; /* tmavě šedá barva */
    }

/* Responsivita tabulky */
@media (max-width: 1024px) {
    .table-container {
        width: 95%;
    }

    .calendar-table {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    .table-container {
        width: 100%;
        padding: 5px;	
    }

    .calendar-table {
        font-size: 14px;
		white-space: nowrap;
		
    }
	.tablus-tabletus {
		overflow-x: auto;
		margin: 0 auto;
		width: 100%;
		-webkit-overflow-scrolling: touch;
	}

    .calendar-table th, .calendar-table td {
        padding: 6px;
    }
	.main {
	    width: 100%;
	}
}

/* Kontejner pro login - zajistí středové zarovnání */
.container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    max-width: 400px;
    background: #ff7043; /* Oranžová */
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    text-align: center;
	box-sizing: border-box;
}

/* Bílé nadpisy h3 pouze uvnitř .container */
.container h3 {
    color: #ffffff; /* Bílá barva textu */
    font-size: 22px;
    margin-bottom: 15px;
}

/* Odkazy (a href) pouze uvnitř .container */
.container a {
    color: #ffffff; /* Bílý text */
    text-decoration: none; /* Odebere podtržení */
    font-weight: bold;
    padding: 10px 15px;
    border-radius: 5px;
	margin: 5px;
    background-color: #b71c1c; /* Bordó */
    transition: background-color 0.3s ease-in-out;
}

/* Efekt při najetí myší pouze pro odkazy uvnitř .container */
.container a:hover {
    background-color: #7f0000; /* Tmavší bordó pro hover */
}


/* Kontejner pro login - zajistí středové zarovnání */
.login-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    max-width: 400px;
    background: #ff7043; /* Oranžová */
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    text-align: center;
	box-sizing: border-box;
}

/* Responsivita pro menší obrazovky */
@media (max-width: 600px) {
    .login-container {
        width: 90%; /* Na mobilech širší */
        padding: 15px;
    }
}


/* Kontejner pro filtr - zajistí správné rozložení na větších i menších obrazovkách */
.filter-container {
    display: flex;
    flex-wrap: wrap; /* Přizpůsobí se menším obrazovkám */
    align-items: flex-start; /* Zarovná obsah na levý okraj */
    margin-bottom: 20px;
	margin-top: 20px;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    width: 100%;
    max-width: 900px;
	box-sizing: border-box;
}

/* FORM - Prvky vedle sebe na větších obrazovkách, přizpůsobení na menších */
.filter-container form {
    display: flex;
    flex-wrap: wrap; /* Zajistí zalomení na menších obrazovkách */
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    gap: 10px; /* Menší mezery mezi prvky */
}

/* Každý filtr je v divu - label a select vedle sebe */
.filter-item1,
.filter-item2,
.filter-item3 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

/* Label je nyní vedle selectu */
.filter-item1 label,
.filter-item2 label,
.filter-item3 label {
    font-weight: bold;
    margin-right: 5px; /* Menší mezera mezi label a select */
}

/* Selecty zůstávají stejné */
.filter-item1 select,
.filter-item2 select,
.filter-item3 select {
    display: inline-block;
    width: auto;
}

/* Styl tlačítka - menší mezery */
.filter-item4 button {
    padding: 8px 12px;
}

/* Styl pro popisky */
.filter-container label {
    font-size: 16px;
    font-weight: bold;
    margin-right: 5px;
}

/* Styl pro výběrová pole */
.filter-container select {
    padding: 8px 12px;
    font-size: 16px;
    border: 2px solid #b71c1c; /* Bordó rámeček */
    border-radius: 5px;
    background-color: #ffffff;
    color: #3e2723;
    cursor: pointer;
}

/* Styl tlačítka */
.filter-container button {
    background-color: #b71c1c; /* Bordó jako ostatní tlačítka */
    color: white;
    cursor: pointer;
    border: none;
    padding: 8px 12px;
    font-size: 16px;
    border-radius: 5px;
    transition: background-color 0.3s ease-in-out;
}

.filter-container button:hover {
    background-color: #7f0000; /* Tmavší bordó pro efekt */
}

/* RESPONSIVITA */

/* Tablety a menší obrazovky */
@media (max-width: 768px) {
    .filter-container form {
        justify-content: center; /* Zarovná prvky na střed */
        gap: 5px; /* Menší mezery */
    }

    .filter-item1,
    .filter-item2,
    .filter-item3 {
        align-items: center;
    }

    .filter-item1 label,
    .filter-item2 label,
    .filter-item3 label {
        margin-bottom: 5px;
    }
}


/* Menu - stejné barvy a styl jako zbytek webu */
.menu {
    width: 100%;
    background-color: #b71c1c; /* Bordó jako ostatní prvky */
    padding: 15px 0;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    display: flex;
	text-align: center;
    justify-content: center;
    align-items: center;
	box-sizing: border-box;
	flex-wrap: wrap;
	gap: 20px;
}

/* Odkazy v menu */
.menu a {
    color: #ffffff; /* Bílý text */
	padding: 10px;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    transition: background-color 0.3s ease-in-out;
}

/* Hover efekt */
.menu a:hover {
    background-color: #7f0000; /* Tmavší bordó */
}

/* Responsivní menu - pro mobilní zařízení */
@media (max-width: 768px) {
    .menu {
        padding: 10px;
    }
}



/* Odkazy v menu */
.clink {
    text-decoration: none;
	color: #3e2723;
	padding: 5px;
	border-radius: 5px;
	background-color: transparent;
	transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

/* Hover efekt */
.clink:hover {
    background-color: #7f0000;
	color: white;
	/*color: #7f0000; */
}


/* Styl pro texty */
h1 {
    font-size: 68px;
    font-weight: 700;
    text-transform: uppercase;
	padding: 0;
	margin: 0 0 10px 0;
}
h2 {
    font-size: 30px;
    font-weight: 500;
    text-transform: uppercase;
	padding: 0;
	margin: 0 0 10px 0;
}
h3 {
    font-size: 24px;
    font-weight: 300;
	padding: 0;
	margin: 0px 0 5px 0;
}	
h4 {
    font-size: 18px;
    font-weight: 600;
	padding: 0;
	margin: 0 0 0 0;
}	
h5 {
    font-size: 16px;
    font-weight: 600;
	padding: 0;
	margin: 0 0 0 0;
}	
h6 {
    font-size: 13px;
    font-weight: 300;
	padding: 0;
	margin: 0 0 0 0;
}	
p {
    font-family: 'Raleway', sans-serif; /* StejnĂ˝ font jako ostatnĂ­ text */
    font-size: 15px; /* StejnĂĄ velikost jako H2 (pĹĂ­padnÄ uprav) */
    font-weight: 300; /* LehkĂŠ pĂ­smo, podobnĂŠ H2 */
    line-height: 1.4; /* ZvĂ˝ĹĄenĂŠ ĹĂĄdkovĂĄnĂ­ pro lepĹĄĂ­ Äitelnost */
}


.user-form {
    display: flex;
    flex-direction: column;
    max-width: 400px;
    margin: 20px auto;
}

.user-form label {
    font-weight: bold;
}

.user-form input, .user-form select {
    margin-bottom: 10px;
    padding: 8px;
}

.user-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 18px;
    text-align: left;
}

.user-table thead tr {
    background-color: #b71c1c; /* Bordó jako u calendar-table */
    color: #ffffff;
}

.user-table th, .user-table td {
    padding: 12px;
    border: 1px solid #ddd;
}

.user-table tbody tr:nth-of-type(even) {
    background-color: #f3f3f3;
}

.user-table tbody tr:hover {
    background-color: #ffe082; /* Světle žlutá jako u calendar-table */
}



.calendar-form {
    display: flex;
    flex-direction: column;
    max-width: 400px;
    margin: 20px auto;
}
.checkbox-group {
    display: flex;
    flex-wrap: wrap;
}







.mobile-container {
    width: 100%;
    margin: 0 auto;
    padding: 15px;
    background: #ffffff;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    text-align: center;
	box-sizing: border-box;
}

.mobile-header {
    margin-bottom: 15px;
    color: #333;
    font-size: 20px;
    font-weight: bold;
}

/* Hlavní kontejner */
.main-mob {
    width: 100%;
    overflow-x: auto;
    background: #ffffff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Filtrovací formulář */
.mobile-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding: 10px;
    background: #e9ecef;
    border-radius: 8px;
    margin-bottom: 15px;
	box-sizing: border-box;
}

.mobile-filter-item {
    flex: 1 1 45%;
    text-align: left;
}

.main-mob label {
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
}

.main-mob select, button {
    width: 100%;
    padding: 8px;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-size: 14px;
}

.main-mob button {
    background-color: #b71c1c;
    color: white;
    cursor: pointer;
}

.main-mob button:hover {
    background-color: #0056b3;
}

/* Mobilní tabulka */
.mobile-table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
    overflow-x: auto;
    display: block;
}

.mobile-table th, .mobile-table td {
    padding: 10px;
    border: 1px solid #ddd;
    text-align: center;
    font-size: 14px;
    white-space: nowrap;
}

.mobile-table th {
    background: #b71c1c;
    color: white;
}

.mobile-table tr:nth-child(even) {
    background: #f2f2f2;
}

.mobile-no-data {
    font-size: 14px;
    color: #dc3545;
    margin-top: 10px;
}

/* Odkaz na mobilní verzi */
.mobile-link {
    display: block;
    text-align: center;
    margin-top: 15px;
    text-decoration: none;
    font-size: 16px;
    color: #b71c1c;
}

.mobile-link:hover {
    text-decoration: underline;
}
