/* ==============================
   Sticky header – Elegantní mytí
   ============================== */
:root{
  /* nastavení */
  --gap-desktop: 46px;        /* boční mezera sticky headeru – desktop */
  --gap-tablet:  22px;        /* boční mezera – tablet */
  --gap-mobile:   6px;        /* boční mezera – mobil (čím menší, tím „širší“ header) */

  --radius: 36px;              /* zaoblení dole ve sticky stavu (desktop) */
  --logo-h: 74px;              /* výška log (můžeš doladit) */
  --logo-h-tab: 64px;
  --logo-h-mob: 48px;

  --safe-top: 0px;             /* doplní JS kvůli WP admin bar */
}
/* ==== Anti-double logo – funguje i bez tříd logo--color/white ==== */

/* 1) Překrytí všech přímých dětí v wrapperu s logy */
.elementor-location-header .header-logo{
  position: relative;
  display: inline-grid;
  place-items: center;
  min-height: 42px;
}
.elementor-location-header .header-logo > .elementor-element{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

/* 2) Výchozí stav: zobraz pouze PRVNÍ dítě (tj. barevné logo),
      všechno od druhého dál schovej – ať Elementor udělá cokoli */
.elementor-location-header .header-logo > .elementor-element:nth-child(n+2){
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* 3) Sticky stav: prohoď to – první schovat, druhé ukázat */
#site-header.is-sticky .header-logo > .elementor-element:nth-child(1),
.elementor-location-header.is-sticky .header-logo > .elementor-element:nth-child(1){
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
#site-header.is-sticky .header-logo > .elementor-element:nth-child(2),
.elementor-location-header.is-sticky .header-logo > .elementor-element:nth-child(2){
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* (volitelné) sjednocení výšky obrázků */
.elementor-location-header .header-logo img{
  height: var(--logo-h, 74px);
  width: auto;
  display: block;
}
@media (max-width:1024px){
  .elementor-location-header .header-logo img{ height: var(--logo-h-tab, 64px); }
}
@media (max-width:767px){
  .elementor-location-header .header-logo img{ height: var(--logo-h-mob, 48px); }
}

/* ===== Anti-FOUC reset jen pro HEADER ===== */
#site-header .logo--white{
  display:none !important; opacity:0 !important; visibility:hidden !important;
}
#site-header .logo--color{
  display:inline-flex !important; opacity:1 !important; visibility:visible !important;
}
#site-header.is-sticky .logo--color{
  display:none !important; opacity:0 !important; visibility:hidden !important;
}
#site-header.is-sticky .logo--white{
  display:inline-flex !important; opacity:1 !important; visibility:visible !important;
}

/* Overlay, když je k dispozici wrapper .header-logo */
#site-header .header-logo{
  position: relative;
  display: grid;
  place-items: center;
  min-height: var(--logo-h);
}
#site-header .header-logo > *{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
}

/* ZÁKLAD – transparentní, bez zaoblení a bez mezer po stranách */
#site-header{
  position: fixed; left: 0; right: 0; top: var(--safe-top);
  z-index: 9999;
  background: transparent !important;
  padding: 18px 0;
  border-radius: 0;                   /* jen dole ve sticky */
  box-shadow: none;
  transition:
    background .25s ease,
    box-shadow .25s ease,
    padding .2s ease,
    left .2s ease, right .2s ease,
    border-radius .2s ease;
}

/* LOGA – překrytí, ať nikdy nejsou dvě */
#site-header .logo--color,
#site-header .logo--white{
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: flex-start;
}

/* default: barevné viditelné, bílé skryté */
#site-header .logo--white{ display: none !important; opacity: 0; visibility: hidden; }
#site-header .logo--color{  display: inline-flex !important; opacity: 1; visibility: visible; }

/* sticky: přepnout loga */
#site-header.is-sticky .logo--color{ display: none !important; opacity: 0; visibility: hidden; }
#site-header.is-sticky .logo--white{ display: inline-flex !important; opacity: 1; visibility: visible; }

/* jednotná výška obrázků */
#site-header .elementor-widget-image img,
#site-header .logo--color img,
#site-header .logo--white img{
  height: var(--logo-h); width: auto; display: block;
}
@media (max-width:1024px){
  #site-header .elementor-widget-image img,
  #site-header .logo--color img,
  #site-header .logo--white img{ height: var(--logo-h-tab); }
}
@media (max-width:767px){
  #site-header .elementor-widget-image img,
  #site-header .logo--color img,
  #site-header .logo--white img{ height: var(--logo-h-mob); }
}

/* BARVY MENU – výchozí stav (před sticky) */
body.home  #site-header .elementor-nav-menu a,
body.home  #site-header .jkit-menu-wrapper a,
body.home  #site-header .elementor-menu-toggle{ color:#ffffff; }  /* homepage = bílé */

body:not(.home) #site-header .elementor-nav-menu a,
body:not(.home) #site-header .jkit-menu-wrapper a,
body:not(.home) #site-header .elementor-menu-toggle{ color:#083654; } /* ostatní = tmavé */

#site-header .elementor-nav-menu a:hover,
#site-header .jkit-menu-wrapper a:hover{ color:#FAB82D; }

/* STICKY STAV – stejný na všech stránkách */
#site-header.is-sticky{
  background:#083654 !important;
  padding:12px 0;
  left: var(--gap-desktop); right: var(--gap-desktop);  /* mezery až ve sticky */
  border-radius: 0 0 var(--radius) var(--radius);       /* zaoblení JEN dole */
  box-shadow: 0 6px 24px rgba(0,0,0,.15);
}

/* Tablet – menší mezera */
@media (max-width:1024px){
  #site-header.is-sticky{
    left: var(--gap-tablet);
    right: var(--gap-tablet);
  }
}

/* Mobil – ještě menší mezera + menší radius, lehce menší vnitřní boční padding */
@media (max-width:767px){
  #site-header.is-sticky{
    left: var(--gap-mobile);
    right: var(--gap-mobile);
    border-radius: 0 0 14px 14px;
  }
  #site-header{ padding-left: 10px; padding-right: 10px; }
}

/* STICKY barvy všude */
#site-header.is-sticky .elementor-nav-menu a,
#site-header.is-sticky .jkit-menu-wrapper a,
#site-header.is-sticky .elementor-menu-toggle{ color:#ffffff; }
#site-header.is-sticky .elementor-nav-menu a:hover,
#site-header.is-sticky .jkit-menu-wrapper a:hover{ color:#FAB82D; }

/* anchor offset – aby se sekce neschovávaly pod sticky */
[id]{ scroll-margin-top: calc(100px + var(--safe-top)); }

/* --- Podstránky: výchozí (není sticky) – tmavé odkazy --- */
body:not(.home) #site-header:not(.is-sticky) .elementor-nav-menu a,
body:not(.home) #site-header:not(.is-sticky) .jkit-menu-wrapper a{
  color:#083654;
}

/* --- STICKY všude: vynutit bílou barvu odkazů + burger --- */
#site-header.is-sticky .elementor-nav-menu a,
#site-header.is-sticky .elementor-nav-menu .menu-item > a,
#site-header.is-sticky .jkit-menu-wrapper a,
#site-header.is-sticky .jkit-menu-wrapper ul li a{
  color:#ffffff !important;
}
#site-header.is-sticky .elementor-menu-toggle{
  color:#ffffff !important;
}

/* Hover v sticky stavu */
#site-header.is-sticky .elementor-nav-menu a:hover,
#site-header.is-sticky .jkit-menu-wrapper a:hover{
  color:#FAB82D !important;
}

/* Aktivní položka (pro jistotu) */
#site-header .elementor-nav-menu .current-menu-item > a{
  color:#FAB82D;
}
#site-header.is-sticky .elementor-nav-menu .current-menu-item > a{
  color:#FAB82D !important;
}
/* Anti-flicker logo switch */
.header-logo{
  position: relative;
  display: inline-grid;
  place-items: center;
  inline-size: 210px;              /* DOLAĎ podle reálné šířky loga */
  min-height: var(--logo-h, 74px);
}

/* Přepínáme jen opacity (žádné display:none) */
.header-logo .logo--color,
.header-logo .logo--white{
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: flex-start;
  transition: opacity .15s ease-out;
  will-change: opacity;
}

.header-logo .logo--color{ opacity: 1; }
.header-logo .logo--white{ opacity: 0; }

#site-header.is-sticky .logo--color{ opacity: 0; }
#site-header.is-sticky .logo--white{ opacity: 1; }

/* Obrázky vyplní wrapper => žádné skákání */
.header-logo img{
  width: 100% !important;
  height: auto !important;
  display: block;
}
