/*=============== GOOGLE FONTS ===============*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500&display=swap");

/*=============== Proměnné CSS ===============*/
:root {
  --first-color: hsl(82, 60%, 28%);
  --title-color: hsl(0, 0%, 15%);
  --text-color: hsl(0, 0%, 35%);
  --body-color: hsl(0, 0%, 95%);
  --container-color: hsl(0, 0%, 100%);
  --body-font: "Poppins", sans-serif;
  --h2-font-size: 1rem;
  --small-font-size: .775rem;
}

/*=============== CARD ===============*/

html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden; /* zabrání horizontálnímu posunu */
}

.container, .wrapper {
  max-width: 100%;    /* aby se nikdy nepřetáhla šířka */
  margin: 0 auto;     /* vycentrování obsahu */
}

.card__container {
  display: grid;
  row-gap: 3.5rem;
  width:100px;
}
.card__article {
  position: relative;
  overflow: hidden;
}
.card__img {
  width: 328px;
  border-radius: 1.5rem;
}
.card__data {
  width: 200px;
  background-color: var(--container-color);
  padding: 1.5rem 2rem;
  box-shadow: 0 8px 24px hsla(0, 0%, 0%, .15);
  border-radius: 1rem;
  position: absolute;
  bottom: -9rem;
  left: 0;
  right: 0;
  margin-inline: auto;
  opacity: 0;
  transition: opacity 1s 1s;
}
.card__description {
  display: block;
  font-size: var(--small-font-size);
  margin-bottom: .25rem;
  text-align: center;
}
.card__title {
  font-size: var(--h2-font-size);
  font-weight: 500;
  margin-bottom: .75rem;
  margin: 0 auto;
}
.card__button {
  text-decoration: none;
  font-size: var(--small-font-size);
  font-weight: 500;
  color: var(--first-color);
  margin-left: 65px;
}
.card__button:hover {
  text-decoration: underline;
}
/* Jméno animace v hoveru */
.card__article:hover .card__data {
  animation: show-data 1s forwards;
  opacity: 1;
  transition: opacity .3s;
}
.card__article:hover {
  animation: remove-overflow 2s forwards;
}
.card__article:not(:hover) {
  animation: show-overflow 2s forwards;
}
.card__article:not(:hover) .card__data {
  animation: remove-data 1s forwards;
}
/* Animace karet */
@keyframes show-data {
  50% { transform: translateY(-10rem); }
  100% { transform: translateY(-7rem); }
}
@keyframes remove-overflow {
  to { overflow: initial; }
}
@keyframes remove-data {
  0% { transform: translateY(-7rem); }
  50% { transform: translateY(-10rem); }
  100% { transform: translateY(.5rem); }
}
@keyframes show-overflow {
  0% { overflow: initial; pointer-events: none; }
  50% { overflow: hidden; }
}
/*--------------- Zmenšeni obrázku ---------------*/
.scale-down {
  transform: scale(0.97);
  transform-origin: center;
}
.scale:hover{
  transform: scale(0.95);
  transform-origin: center;
  transition: all 0.5s ease-in-out;
}
/*=============== Karty menu =================*/
.card{
    box-shadow: 6px 10px 35px -2px rgba(7,7,7,0.75);
    -webkit-box-shadow: 6px 10px 35px -2px rgba(7,7,7,0.75);
    -moz-box-shadow: 6px 10px 35px -2px rgba(7,7,7,0.75);
    transition: all 0.5s ease-in-out;
    border:#333 2px solid;
    height: 50px;
}
.card:hover{
    transform: scale(0.95);
    box-shadow: 5px 6px 22px 5px rgba(31,43,134,1);
    -webkit-box-shadow: 5px 6px 22px 5px rgba(31,43,134,1);
    -moz-box-shadow: 5px 6px 22px 5px rgba(31,43,134,1);
}
/*--------------- Karty fitcentr menu hover ----------------*/
.card-fit:hover{
    transform: scale(0.95);
    box-shadow: 5px 6px 22px 5px rgb(26, 171, 0);
    -webkit-box-shadow: 5px 6px 22px 5px rgb(42, 160, 35);
    -moz-box-shadow: 5px 6px 22px 5px rgb(82, 255, 29);
}

/*---------------- Body ------------------*/
body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: #fbfbfb !important;
}

/*--------------- Header -------------------*/
.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 10px;
    height: 65px; /* Sníženo na rozumnou výšku pro navbar */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/*------------------ Header Img ----------------------*/
.header img {
    width: 50px;
    height: 50px;
}

/*------------------ H1 Tv for Deaf css ---------------*/
/* .header .tv {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 40px;
    background: linear-gradient(to right, #0c4394, #bcd3fa);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: auto 10px;
    transition: background 0.5s ease;
} */

/*--------------- H1 Home css ---------------*/
/* .header .home {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 30px;
    background: linear-gradient(to right, #f2f3f4, #ffffff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: auto 10px;
    transition: background 0.5s ease;
} */
/* .home:hover {
    background: linear-gradient(to right, #ffffff, #0158d9);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background 0.5s ease-in-out;
} */
/* .hand:hover{
  box-shadow: #1c00bb ;
  transform: scale(0.9);
  transition: transform 0.5 ease-in-out;
} */
a {
  text-decoration:none;
}
/*----------Symbol přešrktnutého ucha------------ */
.ucho:hover{
  transform: scale(0.9);
  transition: all 0.3s ease-in-out;
  box-shadow: #ffffff 0px 0px 20px;
  border:0px solid white;
}

/*===================== Footer ======================= */
.footer {
  display: block;
  background: #002477;
  color: white;
  padding: 40px 20px;
  margin-top: 40px;
  margin:auto;
    
}
.footer-container {
  display: grid;
  grid-template-columns: 1fr;
  max-width: 1200px;
  margin: auto;
}
.footer p {
  margin: 0;
  font-size: 16px;
  color:white;
}
.ul i{
  font-size:20px;
  color:#f2f3f4;
}
.ul i:hover{
  color:#1f7fe0;
}
.btn:hover{
  background: rgb(176, 176, 223);
}
.footer-bottom{
  display: flex;
  justify-content: space-between;
}
.footer-bottom a{
  display: block;
  color: white;
  text-decoration: none;
  margin-bottom: 6px;
  font-size: 14px;
}
.footer-bottom a:hover{
  text-decoration:underline;
}
.footer-logo{
  padding-bottom: 20px;
  width:auto;
}
.footer-columns {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
.footer-columns h4 {
  margin-bottom: 10px;
}
.footer-columns a {
  display: block;
  color: white;
  text-decoration: none;
  margin-bottom: 6px;
  font-size: 14px;
}
.footer-columns a:hover {
  text-decoration: underline !important;
}
.copy {
  font-size: 12px;
  text-align: left;
  opacity: 0.7;
}
.text {
  font-size: 24px;
  font-weight: bold;
  z-index: 2;
  color: #333;
}
.href{
  text-decoration: none;
  color:#2600ff
}
h6{
  color:rgb(120, 120, 120) !important;
}
.footer-logo a{
  text-align: center;
}
.footer-logo h6{
  text-align: center;
}
.nav-ul a{
  color:rgb(98, 98, 98);
  text-decoration: none;
  font-size:13px;
}

/* --- DŮLEŽITÉ KONSOLIDOVANÉ ÚPRAVY PRO NAVBAR A HAMBURGER MENU --- */
.navbar {
    position: static; /* Konzistentní: static, pokud se nemá srollovat. Pokud chcete "fixed", musíte odstranit margin:auto z HTML nav prvku. */
    top: 0;
    z-index: 1000;
    justify-content: space-between;
    flex-wrap: nowrap;
    background: white;
    /* DŮLEŽITÉ: Ujistěte se, že zde NENÍ 'overflow: hidden;' */
}

/* Stylování rozbaleného hamburger menu */
.navbar-collapse.show {
    background-color: var(--container-color); /* Bílé pozadí pro rozbalené menu */
    position: absolute; /* Aby menu "plavalo" nad obsahem */
    width: 100%; /* Plná šířka */
    left: 0;
    top: 100%; /* Pod navbarem */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Jemný stín */
    /* Vnitřní odsazení */
}



/* Zarovnání položek v rozbaleném menu */
.navbar-collapse.show .navbar-nav {
    flex-direction: column; /* Položky pod sebou */
    align-items: flex-start; /* Zarovnání doleva */
    padding-left: 10px; /* Odsazení od kraje */
    width: 100%;
}

.navbar-collapse.show .navbar-nav .nav-item {
    width: 100%; /* Každá položka zabírá celou šířku */
    margin-left: 0 !important; /* Zrušení vašeho margin-left */
    margin-bottom: 5px; /* Mezera mezi položkami */
}


/* Media Queries pro responzivitu */
@media (max-width: 768px){
  .navbar{
    width:100% !important;
  }
}
@media (max-width: 578px) {
  .card__container {
    min-width: 60% !important;
    max-width: 100% !important;
    margin: 0 auto;
  }
  .container {
    /* min-width: 100% !important; */
    min-width: 100% !important;
    /* padding-bottom: 100px !important; */
  }
  .home{
    font-size:10px;
  }
  .navbar{
    width:100% !important;
  }
  .navbar-nav.ms-auto.d-flex.align-items-center {
      display: none !important; /* Skryje logo "TV FOR DEAF" v mobilní verzi */
  }
  
}

/* Cookie Banner */


.cookie-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #0C2852; /* Tmavě modrá barva z patičky */
    color: #fff;
    padding: 15px 20px;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: Arial, sans-serif; /* Použijte písmo odpovídající vašemu webu */
    box-sizing: border-box;
}

.cookie-bar-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1100px; /* Nastavte na šířku vašeho obsahu */
}

.cookie-bar p {
    margin: 0;
    font-size: 16px;
    line-height: 1.4;
    padding-right: 20px;
}

.cookie-bar-buttons {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.cookie-bar-buttons a {
    text-decoration: none;
    padding: 8px 18px;
    border-radius: 5px; /* Zaoblené rohy */
    font-weight: bold;
    transition: background-color 0.3s, color 0.3s;
}

.cookie-bar-buttons .btn-accept {
    background-color: #fff;
    color: #0C2852;
    border: 1px solid #fff;
}

.cookie-bar-buttons .btn-accept:hover {
    background-color: transparent;
    color: #fff;
}

.cookie-bar-buttons .btn-info {
    background-color: transparent;
    color: #fff;
    border: 1px solid #fff;
}

.cookie-bar-buttons .btn-info:hover {
    background-color: #fff;
    color: #0C2852;
}

@media (max-width: 768px) {
    .cookie-bar-content {
        flex-direction: column;
        text-align: center;
    }
    .cookie-bar p {
        padding-right: 0;
        margin-bottom: 15px;
    }
    .cookie-bar-buttons {
        justify-content: center;
    }
}

/* Cookie Banner design */

.cookies-table {
    width: 100%;
    border-collapse: collapse;
    margin: 2rem 0;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
}

.cookies-table th, .cookies-table td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.cookies-table thead {
    background: #002b7f; /* tmavě modrá */
    color: #fff;
}

/* .cookies-table tr:hover {
    background: #f8f9fa;
} */

/* Privacy and politic design */

.privacy-section {
    margin: 2rem 0;
    padding: 1.5rem;
    background: #fff;
    border-left: 5px solid #002b7f; /* tmavě modrá */
    box-shadow: 0 2px 5px rgba(0,0,0,0.08);
    border-radius: 6px;
}

.privacy-section h2 {
    margin-top: 0;
    color: #002b7f;
    font-size: 1.2rem;
}

.privacy-section ul {
    margin: 0.5rem 0 0 1.2rem;
}

ul{
  list-style-type: none;
}

/* Form Footer */

/* Příklad základního stylu */
.form-container {
    max-width: 400px;
    margin: 0 auto;
    padding: 20px;
    border-radius: 8px;
}

.form-container label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.form-container input[type="text"],
.form-container input[type="email"],
.form-container textarea {
    width: 100%;
    padding: 8px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.form-container button {
    background-color: #023062;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

/* Contact Form */

/* Styly pro kontaktní formulář v footeru */
.contact-form-container {
    padding: 10px 0;
}

.contact-form-container form {
    display: flex;
    flex-direction: column;
}

.contact-form-container label {
    color: #ffffff; /* Bílý text pro popisky */
    margin-bottom: 5px;
    font-size: 0.9em;
    font-weight: bold;
}

.contact-form-container input[type="text"],
.contact-form-container input[type="email"],
.contact-form-container textarea {
    width: 100%;
    /* padding: 10px; */
    margin-bottom: 15px;
    border: 1px solid #4a6fa8; /* Jemný modrý rámeček */
    border-radius: 4px;
    background-color: #fafafa; /* Světlejší pozadí pro inputy */
    color: #003fbd; /* Tmavý text v inputech */
    font-size: 1em;
}

.contact-form-container input[type="text"]::placeholder,
.contact-form-container input[type="email"]::placeholder,
.contact-form-container textarea::placeholder {
    color: #6a8bb8; /* Barva placeholderu */
}

.contact-form-container input[type="text"]:focus,
.contact-form-container input[type="email"]:focus,
.contact-form-container textarea:focus {
    border-color: #007bff; /* Modrý rámeček při focusu */
    outline: none;
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
}

.contact-form-container textarea {
    resize: vertical; /* Povolit vertikální změnu velikosti */
    min-height: 50px;
}

.contact-form-container button[type="submit"] {
    background-color: #007bff; /* Modré tlačítko */
    color: #ffffff; /* Bílý text tlačítka */
    /* padding: 12px 20px; */
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1.1em;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.contact-form-container button[type="submit"]:hover {
    background-color: #00264e; /* Tmavší modrá při najetí */
}

/* Styly pro flash zprávy (success/error) */
.flashMessage.success {
    background-color: #d4edda;
    color: #191fc5;
    border: 1px solid #c3e6cb;
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 4px;
}

.flashMessage.error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 4px;
}


