/* Myslivecký modern - upravené a zjednodušené style.css */

/* ---------- reset / base ---------- */
* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; font-family: Arial, Helvetica, sans-serif; color: #222; background: #243211; }
.container { max-width: 1150px; margin: 0 auto; padding: 0 16px; }

/* --- HEADER / NAV: upraveno podle požadavku --- */
/* source of truth pro výšky header/nav/footer */
:root{
  --topbar-h:92px;   /* zvýšené záhlaví (vyšší než nav) */
  --nav-h:56px;      /* výška světle zeleného pruhu s navigací */
  --footer-h:64px;
}

/* topbar: pevná výška a styling (upravené vložení .container) */
.topbar {
  background: #1f2a10;
  color: #fff;
  padding: 0;
  border-bottom: 2px solid rgba(0,0,0,0.12);
  backdrop-filter: blur(2px);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--topbar-h);
  z-index: 80;
}

/* vnitřní container v topbaru: flex pro snadné centrování/rozložení */
.topbar .container {
  height: 100%;
  display: flex;
  align-items: center;        /* vertikální centrování obsahu v topbaru */
  justify-content: space-between; /* brand vlevo, search / moduly vpravo */
  gap: 12px;
  padding-left: 16px;
  padding-right: 16px;
  max-width: 1150px;
  margin: 0 auto;
  position: relative;
}

/* brand vlevo */
.topbar .brand { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.topbar .brand::before {
  content: "";
  display:inline-block;
  width:10px; height:10px;
  margin-right:6px;
  border-radius:3px;
  background: linear-gradient(180deg,#4f7a23,#2f5f18);
  box-shadow: 0 1px 0 rgba(0,0,0,0.3);
}

/* samotný nápis (badge) */
.brand-title {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 1.6px;
  color: #f6f8ef;
  text-shadow: 0 1px 0 rgba(0,0,0,0.35);
  padding: 12px 12px;
  border-radius: 6px;
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02));
  border: 1px solid rgba(255,255,255,0.03);
  box-shadow: 0 1px 0 rgba(0,0,0,0.25) inset;
}

/* "search" / searchbox area: pevně vpravo v rámci .topbar .container */
.topbar .top-search {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  /* pokud používáš input, umístě ho sem: <div class="top-search"><input class="top-search-input"></div> */
}
.topbar .top-search .top-search-input {
  height: 28px;
  padding: 6px 8px;
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.06);
  color: #fff;
}

/* drobné úpravy rozložení modulu v topbaru (pokud existují) */
.topbar .top-modules { display:flex; align-items:center; gap:8px; }

/* --- MAIN NAV --- */
/* hlavní nav: pevná výška, pruh přes celou šířku */
.main-nav {
  position: fixed;
  top: calc(var(--topbar-h));
  left: 0;
  right: 0;
  height: var(--nav-h);
  z-index: 79;
  background: linear-gradient(180deg,#3e5218 0%, #375017 100%); /* decentní gradient */
  box-shadow: 0 1px 0 rgba(0,0,0,0.06) inset;
}

/* container v nav: ohraničený stejným max-width jako hlavní obsah, začíná vlevo
   (upravil jsem justify-content na flex-start, aby menu začínalo od levého okraje containeru,
    tedy pod značkou MS MIRO Miletín) */
.main-nav .container {
  height: 100%;
  display: flex;
  align-items: center;      /* vert. vycentrování tlačítek */
  justify-content: flex-start;  /* položky začínají zleva pod brandem */
  gap: 12px;
  padding-left: 16px;
  padding-right: 16px;
  max-width: 1150px;    /* ohraničení šířky menu stejné jako hlavní container */
  margin: 0 auto;
  position: relative;
}

/* samotné UL: odstraněno centrování, položky začínají zleva; padding-left odstraněn */
.main-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 18px;
  align-items: center;
  height: 100%;
}

/* položky a odkazy */
.main-nav li { height: 100%; position: relative; }
/* vertikální centrování tlačítek v rámci pruhu: přímé vycentrování pomocí align-items a pevné výšky */
.main-nav a {
  color: #fff;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;   /* vertikální centrování textu v tlačítku */
  justify-content: center;
  text-decoration: none;
  font-weight: 600;
  border-radius: 8px;
  transition: color .15s ease, background .12s ease, transform .06s ease;
  position: relative;
  overflow: visible;
  background: transparent;
  height: 100%;
  line-height: 1; /* stabilizace vert. zarovnání textu */
}

/* underline animation (výchozí) */
.main-nav a::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  height: 3px;
  bottom: -6px;
  background: linear-gradient(90deg,#6ea934,#2f5f18);
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform .18s cubic-bezier(.2,.9,.2,1);
  border-radius: 2px;
  opacity: .95;
}

/* hover: VRÁTIL jsem původní barvu pozadí (rgba(255,255,255,0.03)) podle tvého přání */
.main-nav li:hover a,
.main-nav a:focus {
  color: #fff;
  background: rgba(255,255,255,0.03); /* vráceno */
  transform: translateY(-1px);
}
.main-nav li:hover a::after,
.main-nav a:focus::after { transform: scaleX(1); }

/* ---------- slideshow ---------- */
.slideshow { margin: 18px 0; }
.slideshow .module { background: #f7f7f7; padding: 10px; border-radius: 4px; }

/* ---------- layout ---------- */
.content-area { display: flex; gap: 24px; padding: 0 16px 30px; }
.sidebar-left { width: 280px; flex: 0 0 280px; }
.main-content { flex: 1; min-width: 0; }

/* generic module card */
.module { background: #fff; border: 1px solid #e6e6e6; padding: 12px; margin-bottom: 18px; border-radius: 4px; }

/* footer */
.site-footer {
  background: #16210c;
  color: #cfd7c7;
  padding: 14px 12px;
  margin-top: 20px;
  text-align: center;
  font-size: 13px;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--footer-h);
  z-index: 78;
  display: flex;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,0.02);
}
.footer-credit { margin-top: 8px; font-size: 13px; color: #aeb7a6; }

/* ---------- contact card (sidebar) ---------- */
.contact-card {
  background: #fff;
  border: 1px solid #dcdcdc;
  padding: 15px 18px;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.08);
  color: #222;
  line-height: 1.5;
  margin-bottom: 20px;
}
.contact-card h3 { margin: 0 0 10px; font-size: 18px; color: #2f5f18; font-weight: 700; }
.contact-card .org { margin-bottom: 8px; font-size: 15px; }
.contact-card a { color: #2f5f18; text-decoration: none; font-weight: 600; }
.contact-card a:hover { text-decoration: underline; }

/* ---------- articles / aktuality (hlavní styl) ---------- */
.article-wrap { background: #fff; padding: 22px; border-radius: 4px; box-shadow: 0 6px 0 rgba(10,10,10,0.06); box-sizing: border-box; }

/* karta / obal článku */
.article-wrap div[class^="leading-"],
.article-wrap .leading-0,
.items-row .item,
article[itemtype*="BlogPosting"],
.blog .items-row .item {
  background: #fff !important;
  border: 1px solid rgba(47,62,31,0.95) !important;
  padding: 20px !important;
  margin-bottom: 28px !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 18px rgba(15,20,10,0.08);
  transition: transform .12s ease, box-shadow .12s ease;
  color: #222 !important;
}
.article-wrap div[class^="leading-"]:hover,
.items-row .item:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 28px rgba(12,18,8,0.12);
}

/* nadpis */
.article-wrap .page-header h2,
.items-row .item .page-header h2 {
  color: #2f5f18 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  margin: 0 0 8px 0 !important;
  position: relative;
  padding-left: 12px;
}
.article-wrap .page-header h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 4px;
  background: linear-gradient(180deg,#6ea934,#2f5f18);
  border-radius: 2px;
}

/* skrytí "Podrobnosti" a kategorie */
.article-info dt.article-info-term,
.article-info-term,
.article-info .article-info-term,
.article-wrap .category-name,
.items-row .item .category-name {
  display: none !important;
}

/* datum */
.article-wrap .page-header + .article-info,
.items-row .item .page-header + .article-info,
article[itemtype*="BlogPosting"] .page-header + .article-info {
  border-bottom: 1px dashed #dbe6cf !important;
  padding-bottom: 12px !important;
  margin-bottom: 18px !important;
}
.article-info dd.published,
.article-info dd.created,
.article-info time {
  color: #4f7a23 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
.article-info dd.published .icon-calendar { display: none !important; }
.article-info dd.published {
  background: rgba(79,122,35,0.04);
  display: inline-block;
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid rgba(79,122,35,0.06);
}

/* obsah pod datumem */
.article-wrap .attachmentsContainer,
.article-wrap .article-image,
.article-wrap p,
.items-row .item p { margin-top: 18px !important; }

/* obrázky */
.article-wrap img,
.items-row .item img,
article[itemtype*="BlogPosting"] img { max-width: 100% !important; height: auto !important; border-radius: 6px !important; margin-top: 12px !important; }

/* odkazy */
.article-wrap a,
.items-row .item a,
article[itemtype*="BlogPosting"] a { color: #2f5f18 !important; text-decoration: none !important; font-weight: 600 !important; }
.article-wrap a:hover,
.items-row .item a:hover { color: #3e6b20 !important; text-decoration: underline !important; }

/* zjemnění linků v sidebaru */
.sidebar-left .module a { color:#2f5f18; transition: color .12s ease; }
.sidebar-left .module a:hover { color:#3e6b20; text-decoration: underline; }

/* CTA style pro důležité odkazy (volitelně) */
a.cta {
  display:inline-block;
  background: linear-gradient(180deg,#6ea934,#4f7a23);
  color: #fff !important;
  padding: 8px 14px;
  border-radius: 8px;
  text-decoration:none !important;
  box-shadow: 0 6px 12px rgba(46,66,18,0.14);
  transition: transform .12s ease, box-shadow .12s ease;
}
a.cta:hover { transform: translateY(-2px); box-shadow: 0 10px 18px rgba(46,66,18,0.18); }

/* ---------- pager / prev-next (sjednocené) ---------- */
/* základní kontejner pro pager / navigaci článků */
.article-wrap ul.pager.pagenav,
.article-navigation,
.article-pager,
.nav-links,
.pager,
ul.pager.pagenav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  box-sizing: border-box;
}

/* jednotlivé položky */
.article-wrap ul.pager.pagenav li,
ul.pager.pagenav li {
  list-style: none;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

/* základní styl tlačítek (nevyplněné) */
.article-wrap ul.pager.pagenav a,
ul.pager.pagenav a,
.article-navigation a,
.nav-previous a,
.nav-next a,
.pager .prev,
.pager .next,
a.prev,
a.next {
  display: inline-block !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
  background: transparent !important;
  border: 1px solid #2f3e1f !important;
  color: #2f3e1f !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  position: relative; z-index: 5;
}

/* hover: vyplnění */
.article-wrap ul.pager.pagenav a:hover,
ul.pager.pagenav a:hover,
.article-navigation a:hover,
.nav-previous a:hover,
.nav-next a:hover,
.pager .prev:hover,
.pager .next:hover,
a.prev:hover,
a.next:hover {
  background: #2f3e1f !important;
  color: #fff !important;
}

/* pokud markup použije floaty */
.nav-previous { float: left; }
.nav-next { float: right; }

/* schovej prázdné položky a marker */
ul.pager.pagenav li:empty,
ul.pager.pagenav li:not(:has(a)) { display: none !important; }
ul.pager.pagenav li::marker { content: none; }

/* pokud se pager přesune JSem - třída moved-pager */
.moved-pager {
  position: relative !important;
  display: flex !important;
  justify-content: flex-end !important;
  margin: 18px 0 0 0 !important;
  z-index: 4 !important;
}

/* finální rozložení: předchozí vlevo, další vpravo uvnitř článku */
.article-wrap ul.pager.pagenav { justify-content: space-between !important; width: 100% !important; margin-top: 18px; }
.article-wrap ul.pager.pagenav li.previous { margin-right: auto !important; }
.article-wrap ul.pager.pagenav li.next     { margin-left: auto !important; }

/* konkrétní styl pro tlačítko "Další" - odstranit dvojitý obdélník */
.article-wrap ul.pager.pagenav li.next,
.article-wrap ul.pager.pagenav li.next a,
.article-wrap ul.pager.pagenav li.next a > span,
.article-wrap ul.pager.pagenav li.next .icon-chevron-right {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}
.article-wrap ul.pager.pagenav li.next a {
  display: inline-block !important;
  position: static !important;
  z-index: auto !important;
  border: 1px solid #2f3e1f !important;
  box-shadow: none !important;
  background: transparent !important;
  color: #2f3e1f !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
}
.article-wrap ul.pager.pagenav li.next::before,
.article-wrap ul.pager.pagenav li.next::after {
  display: none !important;
  content: none !important;
}
.article-wrap ul.pager.pagenav li.next a:hover,
.article-wrap ul.pager.pagenav li.next a:hover > span {
  background: #2f3e1f !important;
  color: #fff !important;
  border-color: #2f3e1f !important;
}

/* --- FIX: pevné header/footer a vnitřní scroll pro obsah --- */
/* výplň pro obsah (počítá s proměnnými výšek) */
body {
  padding-top: calc(var(--topbar-h) + var(--nav-h));
  padding-bottom: var(--footer-h);
  min-height: 100vh;
  box-sizing: border-box;
}

/* kontejner obsahu: omezená výška a vnitřní scrollování */
.container.content-area {
  /* výška mezi header a footer */
  max-height: calc(100vh - (var(--topbar-h) + var(--nav-h) + var(--footer-h)));
  overflow: hidden; /* scrollování uvnitř sloupců, ne celé stránky */
}

/* uděláme, aby sidebar a hlavní obsah scrollovatelný nezávisle */
.sidebar-left,
.main-content {
  max-height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

/* malé vylepšení: odstraníme marginy které by způsobily přetečení */
/* (už aplikováno výše na .article-wrap box-sizing) */

/* pokud chceš, aby se scrolly zobrazovaly až při přesahu, můžeš je více zjemnit: */
.sidebar-left::-webkit-scrollbar,
.main-content::-webkit-scrollbar {
  width: 10px;
}
.sidebar-left::-webkit-scrollbar-thumb,
.main-content::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.15);
  border-radius: 6px;
}

/* PAGE POLISH: hero, card styling, drobnosti */
.main-content > .page-intro {
  margin-bottom: 18px;
  padding: 12px 16px;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02));
  border: 1px solid rgba(255,255,255,0.02);
  box-shadow: 0 3px 10px rgba(0,0,0,0.06);
  color: #e9f0df;
  font-weight: 600;
}

/* RESPONZIVNÍ drobnosti a media queries */
@media (max-width:980px){
  :root{
    --topbar-h:110px; /* pokud se header zabalí na více řádků */
    --nav_h:48px;
    --footer-h:80px;
  }
  body{ padding-top: calc(var(--topbar-h) + var(--nav-h)); padding-bottom: var(--footer-h); }
  .container.content-area { max-height: none; } /* necháme běžné scrollování na mobilu */
  .sidebar-left, .main-content { max-height: none; overflow: visible; }
  .content-area { flex-direction: column; padding: 0 12px; }
  .sidebar-left { width: 100%; flex: none; }
  .main-nav ul { flex-wrap: wrap; padding-left: 12px; justify-content: center; }
  .topbar .top-modules { float: none; margin-top: 8px; }

  .article-wrap div[class^="leading-"],
  .items-row .item,
  article[itemtype*="BlogPosting"] { padding: 14px !important; }

  .article-wrap .page-header h2,
  .items-row .item .page-header h2 { font-size: 22px !important; }

  .article-navigation, .nav-links { text-align: center; }
  ul.pager.pagenav { justify-content: center; gap: 12px; flex-wrap: wrap; }
  .nav-previous, .nav-next { float: none; display: inline-block; margin: 0 6px; }

  .brand-title { font-size:20px; padding:4px 8px; }
  .main-nav a::after { left: 8px; right: 8px; }
  .main-content > .page-intro { font-size: 14px; padding:10px; }

  /* search box v topbaru prostě přesuneme pod brand na mobilu */
  .topbar .top-search { position: static; margin-left: 0; }
}
