﻿/* === ZÁKLADNÍ STYLY === */
body {
   margin: 0;
   font-family: 'Segoe UI', sans-serif;
   background-color: #e5e8ec;
   color: #2b2b2b;
   transition: background-color 0.3s ease, color 0.3s ease;
}

.master {
   max-width: 1200px;
   margin: 0 auto;
   padding: 20px;
}

.header {
   font-size: 28px;
   font-weight: bold;
   color: #1f2e4f;
   padding: 10px 0;
}

/* === NAVIGACE === */
.nav-bar {
   display: flex;
   justify-content: space-between;
   align-items: center;
   background-color: #ffffff;
   padding: 8px 20px;
   border-radius: 8px;
   box-shadow: 0 2px 8px rgba(0,0,0,0.1);
   margin-bottom: 20px;
}

.menu {
   display: flex;
   gap: 20px;
   position: relative;
   flex-wrap: wrap;
}

.menu-item {
   position: relative;
}

   .menu-item > a {
      text-decoration: none;
      color: #1f2e4f;
      font-weight: 600;
      padding: 8px 12px;
      border-radius: 8px;
      transition: background-color 0.3s ease, color 0.3s ease;
   }

      .menu-item > a:hover {
         background-color: #d0e3ff;
         color: #0a3d91;
      }

/* === SUBMENU === */
.submenu {
   display: none;
   position: absolute;
   top: 100%;
   left: 0;
   background-color: #f9fbfd;
   box-shadow: 0 4px 12px rgba(0,0,0,0.15);
   border-radius: 8px;
   min-width: 180px;
   z-index: 1000;
}

   .submenu a {
      display: block;
      padding: 10px 16px;
      text-decoration: none;
      color: #2c3e50;
      font-size: 14px;
      transition: background-color 0.2s ease, color 0.2s ease;
   }

      .submenu a:hover {
         background-color: #cce0ff;
         color: #0a3d91;
      }

/* === INTERAKCE === */
@media (hover: hover) and (pointer: fine) {
   .menu-item:hover .submenu {
      display: block;
   }
}

.menu-item.open .submenu {
   display: block;
}

/* === PRAVÁ STRANA === */
.nav-right {
   display: flex;
   flex-direction: column;
   gap: 12px;
   align-items: flex-end;
}

.nav-top-row {
   display: flex;
   gap: 12px;
   align-items: center; /* fix zarovnání */
}

.darkmode-toggle button {
   padding: 8px 12px;
   border-radius: 8px;
   border: none;
   background-color: #0078D7;
   color: white;
   font-weight: bold;
   cursor: pointer;
   transition: background-color 0.3s ease;
}

   .darkmode-toggle button:hover {
      background-color: #005fa3;
   }

.language-switcher {
   display: flex;
   align-items: center;
}

   .language-switcher select {
      padding: 8px 12px;
      border-radius: 8px;
      border: 1px solid #aaa;
      background-color: #ffffff;
      color: #2c3e50;
      font-weight: 600;
      cursor: pointer;
   }

/* === RESPONSIVNÍ DESIGN === */
@media (max-width: 768px) {
   .nav-bar {
      flex-direction: column;
      align-items: stretch;
      gap: 16px;
   }

   .menu {
      flex-direction: column;
      gap: 10px;
   }

   .hamburger {
      display: block;
      font-size: 28px;
      cursor: pointer;
      padding: 8px 12px;
      background-color: #0a3d91;
      color: white;
      border-radius: 8px;
   }

   #mobileMenu {
      display: none;
      flex-direction: column;
      gap: 10px;
      margin-top: 10px;
      z-index: 999;
   }

      #mobileMenu.active {
         display: flex;
      }

   /* mobilní nav-right */
   .nav-right {
      flex-direction: column;
      align-items: stretch;
      gap: 10px;
      padding: 10px 0;
   }

   .nav-top-row {
      display: flex;
      gap: 10px;
      width: 100%;
   }

      .nav-top-row .darkmode-toggle,
      .nav-top-row .language-switcher {
         flex: 1;
      }

      .nav-top-row button,
      .nav-top-row select {
         width: 100%;
      }

   .nav-right .auth-box {
      width: 100%;
   }

   .nav-right .btn-primary,
   .nav-right .btn-secondary {
      width: 100%;
      text-align: center;
   }
}

@media (min-width: 769px) {
   .hamburger {
      display: none;
   }

   .nav-bar {
      flex-direction: row;
      align-items: center;
   }

   .nav-right {
      flex-direction: row; /* ✅ všechny prvky na 1 řádek */
      align-items: center; /* ✅ vertikálně vycentrováno */
      gap: 12px;
   }

   .menu {
      flex-direction: row;
   }
}


@media (min-width: 1024px) {
   .master {
      padding: 40px;
   }

   .header {
      font-size: 32px;
   }

   .menu-item > a, .submenu a {
      font-size: 15px;
   }
}

/* Language selector */
.lang-select {
   background-color: #0a3d91;
   padding: 8px 12px;
   border: none;
   border-radius: 8px;
   font-weight: bold;
   cursor: pointer;
   appearance: none;
   color: white;
}

/* AuthBox */
.auth-box {
   display: flex;
   align-items: center;
   gap: 12px;
   padding: 8px 12px;
   border-radius: 8px;
}

   .auth-box a {
      display: block;
      text-decoration: none;
      font-size: 14px;
      transition: background-color 0.2s ease, color 0.2s ease;
   }

.auth-dropdown a:hover {
   background-color: #cce0ff;
   color: #0a3d91;
}

.auth-box .btn-primary,
.auth-box .btn-secondary {
   text-decoration: none;
   padding: 8px 12px;
   border-radius: 8px;
   font-weight: bold;
   display: inline-block;
   cursor: pointer;
   text-align: center;
   transition: background-color 0.3s ease;
}

.auth-box .btn-primary {
   background-color: #0078D7;
   color: white;
}

   .auth-box .btn-primary:hover {
      background-color: #005fa3;
   }

   .auth-box .btn-primary a {
      color: white;
      text-decoration: none;
   }

.auth-box .btn-secondary {
   background-color: #e0e0e0;
   color: #333;
}

   .auth-box .btn-secondary:hover {
      background-color: #c2c2c2;
   }

   .auth-box .btn-secondary a {
      color: #333;
      text-decoration: none;
   }

.auth-container {
   position: relative;
   display: inline-block;
}

.auth-dropdown {
   display: none;
   position: absolute;
   top: 100%;
   right: 0;
   background-color: #f9fbfd;
   box-shadow: 0 4px 12px rgba(0,0,0,0.15);
   border-radius: 8px;
   min-width: 160px;
   z-index: 1000;
}

@media (hover: hover) and (pointer: fine) {
   .auth-container:hover .auth-dropdown {
      display: block;
   }
}

/* Oddělovač sekcí (mobil) */
.divider {
   display: none;
   height: 1px;
   background-color: #ddd;
   margin: 10px 0;
   width: 100%;
}

@media (max-width: 768px) {
   .divider {
      display: block;
   }
}


.user-icon {
   font-size: 22px;
   cursor: pointer;
   padding: 8px;
   border-radius: 50%;
   /*background-color: #0078D7;*/
   color: white;
   transition: background-color 0.3s ease;
}

   .user-icon:hover {
      background-color: #005fa3;
   }

.auth-container {
   position: relative;
   display: inline-block;
}

.auth-dropdown {
   display: none;
   position: absolute;
   top: 100%;
   right: 0;
   background-color: #f9fbfd;
   box-shadow: 0 4px 12px rgba(0,0,0,0.15);
   border-radius: 8px;
   min-width: 160px;
   z-index: 1000;
}

   .auth-dropdown a {
      display: block;
      padding: 10px 16px;
      text-decoration: none;
      color: #2c3e50;
      font-size: 14px;
      transition: background-color 0.2s ease, color 0.2s ease;
   }

      .auth-dropdown a:hover {
         background-color: #cce0ff;
         color: #0a3d91;
      }

@media (hover: hover) and (pointer: fine) {
   .auth-container:hover .auth-dropdown {
      display: block;
   }
}
