body {
  justify-content: center;
  display: flex;
}
header p {
  font-family: "Roboto", serif;
  line-height: 18px;
  margin-top: 0;
  font-weight: 400;
  size: 14px;
}
h1 {
  font-family: "Roboto";
  font-weight: 300;
  font-size: 36px;
  line-height: 42.19px;
  margin-bottom: 18px;
}
h3 {
  margin: 80px auto 40px auto;
  font-family: "Roboto", serif;
  text-align: center;
  font-weight: 700;
  size: 17px;
  line-height: 22px;
}
a {
  color: black;
  text-decoration: none;
  font-family: "Roboto";
}
.med {
  font-weight: 500;
}
.body-container {
  width: 1600px;
  margin-bottom: 60px;
}
.header-container {
  margin-top: 0;
  padding-top: 0;
  flex-grow: 1;
}
.cap-logo {
  width: 181px;
  height: auto;
  top: 56px;
}
header {
  display: flex;
  flex-direction: row;
  justify-content: space-between; /* Rozloží obsah mezi levý a pravý okraj */
  align-items: flex-start; /* Zarovná obsah nahoru */
  margin-top: 0;
  padding: 10px;
  width: 100%; /* Roztáhne blok na šířku obrazovky */
  flex-grow: 1;
}
.nav-container {
  width: auto;
  /* border: 1px solid black; */
  border-radius: 5px;
  align-items: center;
  justify-content: center;
  margin-top: 32px;
  margin-left: auto;
  margin-right: 0;
}

nav {
  display: flex;
  flex-direction: row;
  align-items: start;
  justify-content: center;
  padding: 3px 0;
}
ul {
  align-items: center;
  justify-content: center;
  display: flex;
  flex-direction: row;
  list-style-type: none;
  margin: 0 64px;
  padding: 0;
  gap: 32px;
}
.nav-margin {
  padding: 0 162px;
}
.b {
  font-weight: 700;
}
.eb {
  font-weight: 800;
}
.g {
  color: #007030;
}
.profile-picture {
  width: 270px;
  height: 270px;
  display: block;

  margin: 80px auto 40px auto;
}
.cite {
  margin: 30px auto 100px auto;
  text-align: center;
  font-family: "Roboto", serif;
  font-style: italic;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: 0;
  font-size: 18px;
}
.uvod-container {
  margin-top: 0;
  display: grid;
  grid-template-columns: 3fr 1fr;
  max-width: 920px;
  gap: 10px;
  justify-items: left;
  align-items: start;
  height: auto;
  /* margin: 0 290px; */
  margin: 0 240px;
}
.uvod-container h2 {
  font-family: "Roboto serif", serif;
  font-weight: 400;
  size: 25px;
  line-height: 24px;
}
.uvod-container p {
  font-family: "Roboto", serif;
  font-weight: 400;
  size: 17px;
  line-height: 24px;
  /* line-height: 140%; */
}
.solutions-grid {
  margin-top: 0;
  display: grid; /* Aktivuje grid layout */
  grid-template-columns: repeat(2, 1fr); /* Vytvoří dva sloupce stejné šířky */
  gap: 20px; /* Mezera mezi sloupci a řádky */
  justify-items: left; /* Horizontální zarovnání grid itemů */
  align-items: start; /* Vertikální zarovnání grid itemů */
  height: auto;
  /* margin: 0 240px; */
  margin-left: 400px;
  margin-right: 40vh;
}
.solutions-grid * {
  margin: 10px 0;
  padding: 0;
}
@media (max-width: 1565px) {
  .solutions-grid br {
    display: none;
  }
}

.solutions-margin {
  margin-left: 80px;
}
.solution h3 {
  text-align: left;
  margin-bottom: 0;
}
.left {
  text-align: left;
  margin: 80px auto 40px 240px;
}
.solution p {
  text-align: left;
  margin-bottom: 0;
  margin-top: 0;
  font-family: "Roboto";
  font-weight: 400;
  size: 17px;
  line-height: 24px;
}
.logo-vojkuvkova {
  margin: 0 auto 0 auto;
  width: 105px;
  height: auto; /* zachová poměr stran */
}
.page-summary {
  margin: 100px 240px 80px 240px;
  max-width: 509px;
}
.page-summary h2 {
  font-family: "Roboto serif", serif;
  font-weight: 400;
  size: 25px;
  line-height: 30px;
}
.page-summary p {
  font-family: "Roboto";
  font-weight: 400;
  size: 25px;
  line-height: 24px;
}
.page-summary a:hover {
  text-decoration: underline;
}
.cv-h2 {
  margin: 80px auto;
  text-align: center;
  font-family: "Roboto serif", serif;
  font-weight: 400;
  size: 25px;
  line-height: 24px;
}

.cv-grid {
  margin-top: 0;
  display: grid; /* Aktivuje grid layout */
  grid-template-columns: repeat(2, 1fr); /* Vytvoří dva sloupce stejné šířky */
  gap: 100px; /* Mezera mezi sloupci a řádky */
  justify-items: left; /* Horizontální zarovnání grid itemů */
  align-items: start; /* Vertikální zarovnání grid itemů */
  height: auto;
  margin: 0 auto 0 180px;
}
.cv-column h3 {
  text-align: left;
  font-family: "Roboto";
  font-weight: 700;
  size: 12px;
  line-height: 16px;
}
.cv-column p {
  text-align: left;
  font-family: "Roboto";
  font-weight: 400;
  size: 12px;
  line-height: 20px;
}
.contact-content p {
  text-align: left;
  font-family: "Roboto";
  font-weight: 400;
  size: 17px;
  line-height: 24px;
}
/* Obecné nastavení pro všechny .container */
.about-me-container,
.odbornost-container {
  text-align: left;
  margin-left: 190px;
  margin-top: 80px;
}

/* Nadpisy v kontejnerech */
.about-me-container h1,
.odbornost-container h1 {
  font-family: "Roboto Serif", serif;
  font-weight: 400;
  font-size: 36px; /* POZOR: bylo tam chybně `36 px` s mezerou – to je neplatné */
  margin-bottom: 60px;
}

/* Odstavce v kontejnerech */
.about-me-container p,
.odbornost-container p {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  line-height: 24px;
}

/* Rozlišení velikosti textu – podle potřeby */
.about-me-container p {
  font-size: 17px;
  margin-bottom: 30px;
}

.odbornost-container p {
  font-size: 12px;
  line-height: 16px;
  margin-bottom: 20px;
}

/* Tučný text v obou kontejnerech – zůstává */
.about-me-container p.b,
.odbornost-container p.b {
  font-weight: 700;
}

.contact-content {
  margin: 150px auto 0 190px;
  max-width: 417px;
}
.contact-content a:hover {
  text-decoration: underline;
}
.h-making {
  font-family: "Roboto";
  text-align: center;
}
.gap {
  padding-bottom: 20px;
}
a.link:hover {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .uvod-container,
  .solutions-grid {
    display: flex;
    flex-direction: column;
    width: 90%; /* trošku víc prostoru */
    margin: auto;
    align-items: flex-start;
    overflow-wrap: break-word;
  }
  header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    overflow: hidden;
  }

  .nav-container {
    order: -1; /* přesune navigaci nahoru */
    width: 100%;
    padding: 0 0;
    box-sizing: border-box;
  }

  .nav-container ul {
    display: block; /* změněno na blokové zobrazení */
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%; /* zajistí, že seznam bude zabírat celou šířku */
  }

  .nav-container ul li {
    display: block; /* položky budou blokové a tím se seřadí pod sebe */
    margin-bottom: 1px; /* mezera mezi položkami */
  }

  .nav-container ul li a {
    text-decoration: none;
    padding: 2px 3px;
    display: inline-block;
  }

  ul {
    margin: 0 5%;
    padding: 0;
    overflow-wrap: break-word;
  }

  header {
    width: 90%;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    align-items: center;
  }

  .solution {
    word-break: break-word;
    white-space: normal;
    display: block;
    align-items: center;
    width: 90%;
    margin: 0 auto;
  }

  .left {
    margin-left: 5%;
    margin-right: 5%;
    width: 90%;
    overflow-wrap: break-word;
  }

  .page-summary {
    margin: 0 auto;
    width: 90%;
    max-width: 90%;
    overflow-wrap: break-word;
    word-break: break-word;
    align-items: center;
  }

  .cv-grid {
    margin: 5% auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: auto;
    width: 90%;
    overflow-wrap: break-word;
  }

  .contact-content {
    margin: 5% auto;
    width: 90%;
    max-width: 417px;
    overflow-wrap: break-word;
  }
  .about-me-container,
  .odbornost-container {
    margin-left: 20px;
  }

  /* Přidejme ještě obecnou pojistku */
  body {
    overflow-x: hidden;
    word-break: break-word;
    overflow-wrap: break-word;
  }
  br {
    display: none;
  }
  br.keep-br {
    display: inline;
  }
}
