* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

:root {
  --bg: #ffffff;
  --text: #111827;

  --primary: #2563eb;
  --primary-hover: #1d4ed8;

  --gray-50:  #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  
  --space: 1rem;
  --space-button: .8rem 1.2rem;
}

/*@media (prefers-color-scheme: dark) {
  :root {
    --bg: #111827;
    --text: #f3f4f6;

    --primary: #3b82f6;
    --primary-hover: #60a5fa;

    --gray-50:  #1f2937;
    --gray-100: #374151;
    --gray-200: #4b5563;
    --gray-300: #6b7280;
    --gray-400: #9ca3af;
    --gray-500: #d1d5db;
  }
}*/

html {
   width: 100%;
   height: 100%;
   font-size: 16px;
}

/*html[data-theme="light"] {
  --bg: #ffffff;
  --text: #111827;

  --primary: #2563eb;
  --primary-hover: #1d4ed8;

  --gray-50:  #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  
  --space: 1rem;
  --space-button: .8rem 1.2rem;
}*/

html[data-theme="dark"] {
    --bg: #111827;
    --text: #f3f4f6;

    --primary: #3b82f6;
    --primary-hover: #60a5fa;

    --gray-50:  #1f2937;
    --gray-100: #374151;
    --gray-200: #4b5563;
    --gray-300: #6b7280;
    --gray-400: #9ca3af;
    --gray-500: #d1d5db;
}

body {
   width: 100%;
   height: 100%;
   background-color: #FFFFFF;
   font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

h1, h2, h3, h4, h5, h6, p, span, blockquote, b, i, u, strong, body {
   color: var(--text);
   line-height: 1.5;
}

h1 {
   font-size: 32px;
}

h2 {
   font-size: 24px;
}

h3 {
   font-size: 20px;
}

a {
   color: var(--primary);
}

a:hover {
   color: var(--primary-hover);
}

button {
   line-height: 1;
   padding: 0 var(--space);
}

.podlozka {
   width: 100%;
   background-color: var(--bg);
   display: grid;
   grid-template-columns: 1fr;
   grid-template-rows: auto auto 1fr auto;
   grid-template-areas:
      "header"
      "nav"
      "main"
      "footer";
   min-height: 100%;
}

@media (min-width: 1000px) {
   .podlozka {
      grid-template-columns: auto 1fr;
      grid-template-rows: auto 1fr auto;
      grid-template-areas:
         "header main"
         "nav main"
         "nav footer";
   }
}

header, main, footer {
   sborder: 1px solid var(--gray-400);
   padding: 2rem;
}

nav {
   padding: 0 1rem;
}

/* ------------ hlavicka ------------ */

header {
   grid-area: header;
}

/* ------------ navigace ------------ */

nav {
   grid-area: nav;
}

nav ul {
   display: block;
   list-style-type: none;
}

nav ul li span{
   display: block;
   padding: var(--space-button);
}

nav ul li a {
   display: block;
   padding: var(--space-button);
   text-decoration: none;
}

nav ul li a:hover {
   background-color: var(--primary-hover);
   color: var(--text);
}

nav ul.tlacitko {
   background-color: var(--gray-50);
   color: var(--gray-500);
}

nav ul.odkazy {
   display: none;
}

nav ul ul {
   margin-left: 1rem;
}

#prepinac {
   position: absolute;
   top: -1000px;
   display: none;
}

#prepinac:checked ~ ul.odkazy {
   display: block;
}

@media (min-width: 1000px) {
   nav {
      width: 200px;
   }
   
   nav ul.tlacitko {
      display: none;
   }
   nav ul.odkazy {
      display: block;
   }
}

@media (min-width: 1200px) {
   nav {
      width: 250px;
   }
}

/* ------------ obsah ------------ */

main {
   grid-area: main;
}

main h1, 
main h2, 
main h3,
main p,
main div {
   margin-bottom: calc(var(--space) + var(--space));
}

main ul {
   margin-left: var(--space);
}

/* ------------ zapati ------------ */

footer {
   grid-area: footer;
   display: flex;
   flex-flow: row wrap;
   justify-content: center;
   gap: 1rem;
}