/* TransTrade Header SCF 1.5.1 — cały header max 1200px + kompakt po scrollu */
.tt-header{
  --tt-blue:#0871f8;
  --tt-blue2:#0067ea;
  --tt-navy:#081533;
  --tt-muted:#7b8498;
  --tt-line:#e5eaf2;

  width:100%!important;
  margin:0!important;
  padding:10px 0!important;
  background:linear-gradient(90deg,#f5f8fc 0%,#eef6ff 100%)!important;
  font-family:Poppins,Arial,sans-serif!important;
  position:relative;
  z-index:9999;
}
.tt-header.is-sticky{position:sticky!important;top:0}
.admin-bar .tt-header.is-sticky{top:32px}

/* CAŁY BIAŁY HEADER = MAX 1200 PX */
.tt-header__shell{
  width:calc(100% - 32px)!important;
  max-width:1200px!important;
  min-height:126px!important;
  margin:0 auto!important;
  border:1px solid #e4eaf2!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 15px 40px rgba(42,76,120,.075)!important;
  display:flex!important;
  align-items:center!important;
}

/* wewnętrzna zawartość również mieści się w tej samej karcie */
.tt-header__inner{
  width:100%!important;
  min-height:126px!important;
  margin:0!important;
  padding:0 28px!important;
  display:grid!important;
  grid-template-columns:250px minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:22px!important;
}

.tt-header__brand{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  text-decoration:none!important;
}
.tt-header__logo{
  width:66px!important;
  height:54px!important;
  object-fit:contain!important;
  display:block!important;
  flex:0 0 66px!important;
}
.tt-header__logo-fallback{
  width:66px!important;
  height:54px!important;
  flex:0 0 66px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:11px!important;
  color:#fff!important;
  background:linear-gradient(145deg,#0c74fb,#0866e9)!important;
  font-size:25px!important;
  font-weight:700!important;
}
.tt-header__brand-copy{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  line-height:1.05!important;
}
.tt-header__title{
  color:var(--tt-navy)!important;
  font-size:24px!important;
  line-height:1.05!important;
  font-weight:650!important;
  letter-spacing:-.55px!important;
  white-space:nowrap!important;
}
.tt-header__subtitle{
  margin-top:7px!important;
  color:var(--tt-muted)!important;
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:400!important;
  white-space:nowrap!important;
}

.tt-header__nav{
  min-width:0!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
}
.tt-header__nav-list{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.tt-header__nav-list li{margin:0!important;padding:0!important}
.tt-header__nav-list a{
  display:block!important;
  padding:0!important;
  color:var(--tt-navy)!important;
  text-decoration:none!important;
  font-size:13.5px!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:-.15px!important;
  white-space:nowrap!important;
}
.tt-header__nav-list a:hover{color:var(--tt-blue)!important}

.tt-header__right{
  min-height:52px!important;
  padding-left:18px!important;
  border-left:1px solid var(--tt-line)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:9px!important;
  white-space:nowrap!important;
}

.tt-header__translator{
  min-width:58px!important;
  max-width:74px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
.tt-header__translator:empty{display:none!important}
.tt-header__translator > *{margin:0!important}
.tt-header__translator img{max-width:26px!important;height:auto!important}
.tt-header__translator select{
  max-width:72px!important;
  min-height:38px!important;
  border:0!important;
  background:transparent!important;
  color:var(--tt-navy)!important;
  box-shadow:none!important;
  font:400 13px/1 Poppins,Arial,sans-serif!important;
}

.tt-header__login,
.tt-header__register{
  height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:7px!important;
  text-decoration:none!important;
  line-height:1!important;
  font-size:12.5px!important;
  font-weight:400!important;
  white-space:nowrap!important;
}
.tt-header__login{
  min-width:92px!important;
  padding:0 13px!important;
  color:var(--tt-navy)!important;
  border:1px solid #d1d9e6!important;
  background:#fff!important;
  box-shadow:0 2px 5px rgba(12,32,59,.025)!important;
}
.tt-header__register{
  min-width:126px!important;
  padding:0 13px!important;
  gap:7px!important;
  color:#fff!important;
  border:1px solid #0871f8!important;
  background:linear-gradient(180deg,var(--tt-blue) 0%,var(--tt-blue2) 100%)!important;
  box-shadow:0 8px 18px rgba(0,103,234,.17)!important;
}
.tt-header__person{
  width:14px!important;
  height:14px!important;
  fill:currentColor!important;
}

.tt-header__toggle{display:none!important}

@media(max-width:1220px){
  .tt-header__shell{
    width:calc(100% - 20px)!important;
  }
  .tt-header__inner{
    grid-template-columns:220px minmax(0,1fr) auto!important;
    padding:0 18px!important;
    column-gap:14px!important;
  }
  .tt-header__brand{gap:10px!important}
  .tt-header__logo,.tt-header__logo-fallback{
    width:56px!important;
    height:46px!important;
    flex-basis:56px!important;
  }
  .tt-header__title{font-size:21px!important}
  .tt-header__subtitle{font-size:9.5px!important}
  .tt-header__nav-list{gap:12px!important}
  .tt-header__nav-list a{font-size:12px!important}
  .tt-header__right{padding-left:12px!important;gap:6px!important}
  .tt-header__login{min-width:82px!important;padding:0 9px!important;font-size:11.5px!important}
  .tt-header__register{min-width:112px!important;padding:0 9px!important;font-size:11.5px!important}
}

@media(max-width:1040px){
  .tt-header__shell{min-height:84px!important}
  .tt-header__inner{
    min-height:84px!important;
    display:flex!important;
    flex-wrap:wrap!important;
  }
  .tt-header__toggle{
    display:block!important;
    width:42px!important;
    height:42px!important;
    margin-left:auto!important;
    padding:8px!important;
    border:1px solid #d7dfeb!important;
    border-radius:9px!important;
    background:#fff!important;
  }
  .tt-header__toggle span{
    display:block!important;
    height:2px!important;
    margin:5px 0!important;
    background:#081533!important;
  }
  .tt-header__nav,.tt-header__right{display:none!important}
  .tt-header.is-open .tt-header__nav,
  .tt-header.is-open .tt-header__right{display:flex!important}
  .tt-header.is-open .tt-header__nav{
    order:10!important;
    width:100%!important;
    padding-top:12px!important;
  }
  .tt-header.is-open .tt-header__nav-list{
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:0!important;
  }
  .tt-header.is-open .tt-header__nav-list a{
    padding:11px 0!important;
    font-size:15px!important;
  }
  .tt-header.is-open .tt-header__right{
    order:11!important;
    width:100%!important;
    padding:14px 0 18px!important;
    border-left:0!important;
    border-top:1px solid var(--tt-line)!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }
}
@media(max-width:782px){.admin-bar .tt-header.is-sticky{top:46px}}
@media(max-width:640px){
  .tt-header{padding:6px 0!important}
  .tt-header__shell{
    width:calc(100% - 12px)!important;
    border-radius:14px!important;
  }
  .tt-header__inner{padding:0 12px!important}
  .tt-header__brand{max-width:calc(100% - 58px)!important}
  .tt-header__logo,.tt-header__logo-fallback{
    width:48px!important;
    height:39px!important;
    flex-basis:48px!important;
  }
  .tt-header__title{font-size:19px!important}
  .tt-header__subtitle{font-size:9px!important;white-space:normal!important}
  .tt-header.is-open .tt-header__right{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .tt-header__translator,.tt-header__login,.tt-header__register{
    width:100%!important;
    max-width:none!important;
  }
}


/* =========================
   KOMPAKTOWY HEADER PO SCROLLU
   ========================= */
.tt-header,
.tt-header__shell,
.tt-header__inner,
.tt-header__logo,
.tt-header__logo-fallback,
.tt-header__title,
.tt-header__subtitle,
.tt-header__login,
.tt-header__register{
  transition:
    min-height .22s ease,
    height .22s ease,
    width .22s ease,
    padding .22s ease,
    font-size .22s ease,
    margin .22s ease,
    opacity .18s ease,
    box-shadow .22s ease,
    border-radius .22s ease!important;
}

.tt-header.is-compact{
  padding:5px 0!important;
}

.tt-header.is-compact .tt-header__shell{
  min-height:72px!important;
  border-radius:15px!important;
  box-shadow:0 9px 26px rgba(42,76,120,.095)!important;
}

.tt-header.is-compact .tt-header__inner{
  min-height:72px!important;
  padding-left:24px!important;
  padding-right:24px!important;
}

.tt-header.is-compact .tt-header__logo{
  width:48px!important;
  height:40px!important;
  flex-basis:48px!important;
}

.tt-header.is-compact .tt-header__logo-fallback{
  width:48px!important;
  height:40px!important;
  flex-basis:48px!important;
  border-radius:8px!important;
  font-size:20px!important;
}

.tt-header.is-compact .tt-header__brand{
  gap:10px!important;
}

.tt-header.is-compact .tt-header__title{
  font-size:20px!important;
}

.tt-header.is-compact .tt-header__subtitle{
  margin-top:3px!important;
  font-size:8.5px!important;
  opacity:.78!important;
}

.tt-header.is-compact .tt-header__right{
  min-height:44px!important;
}

.tt-header.is-compact .tt-header__login,
.tt-header.is-compact .tt-header__register{
  height:40px!important;
}

.tt-header.is-compact .tt-header__nav-list a{
  font-size:12.5px!important;
}

.tt-header.is-compact .tt-header__translator{
  min-height:38px!important;
}

/* na telefonie nie zmniejszamy dodatkowo — mobilny header ma swój layout */
@media(max-width:1040px){
  .tt-header.is-compact .tt-header__shell,
  .tt-header.is-compact .tt-header__inner{
    min-height:76px!important;
  }
}


/* ============================================================
   TransTrade Header SCF 1.5.2 — eliminacja skoku przy scrollu
   ============================================================ */

/*
 * Placeholder zajmuje dokładnie tyle miejsca, ile zwykły header
 * przed wejściem w tryb fixed. Dzięki temu dokument NIE zmienia
 * wysokości w chwili przełączenia.
 */
.tt-header-placeholder{
  display:none!important;
  width:100%!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  pointer-events:none!important;
}
.tt-header-placeholder.is-active{
  display:block!important;
  height:var(--tt-placeholder-height, auto);
}

/*
 * W trybie kompaktowym header jest wyjmowany z normalnego flow.
 * Nie ma więc przeliczania pozycji elementów pod nim.
 */
.tt-header.is-fixed-compact{
  position:fixed!important;
  top:var(--tt-fixed-top, 0px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:99999!important;
  will-change:transform!important;
  transform:translateZ(0)!important;
}

/* WordPress admin bar */
.admin-bar .tt-header.is-fixed-compact{
  top:32px!important;
}
@media(max-width:782px){
  .admin-bar .tt-header.is-fixed-compact{
    top:46px!important;
  }
}

/*
 * Nie animujemy właściwości position/top.
 * Animacja dotyczy wyłącznie wyglądu elementów wewnętrznych.
 */
.tt-header{
  transition:padding .18s ease, background-color .18s ease!important;
}
.tt-header__shell{
  transition:
    min-height .20s ease,
    border-radius .20s ease,
    box-shadow .20s ease!important;
}
.tt-header__inner{
  transition:min-height .20s ease, padding .20s ease!important;
}
.tt-header__logo,
.tt-header__logo-fallback,
.tt-header__title,
.tt-header__subtitle,
.tt-header__login,
.tt-header__register{
  transition:
    width .20s ease,
    height .20s ease,
    flex-basis .20s ease,
    font-size .20s ease,
    margin .20s ease,
    opacity .16s ease!important;
}

/* kompaktowy desktop */
@media(min-width:1041px){
  .tt-header.is-fixed-compact{
    padding:4px 0!important;
    background:rgba(242,247,253,.94)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }

  .tt-header.is-fixed-compact .tt-header__shell{
    min-height:68px!important;
    border-radius:14px!important;
    box-shadow:0 9px 26px rgba(42,76,120,.095)!important;
  }

  .tt-header.is-fixed-compact .tt-header__inner{
    min-height:68px!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }

  .tt-header.is-fixed-compact .tt-header__logo,
  .tt-header.is-fixed-compact .tt-header__logo-fallback{
    width:46px!important;
    height:38px!important;
    flex-basis:46px!important;
  }

  .tt-header.is-fixed-compact .tt-header__logo-fallback{
    border-radius:8px!important;
    font-size:19px!important;
  }

  .tt-header.is-fixed-compact .tt-header__brand{
    gap:9px!important;
  }

  .tt-header.is-fixed-compact .tt-header__title{
    font-size:19px!important;
  }

  .tt-header.is-fixed-compact .tt-header__subtitle{
    margin-top:3px!important;
    font-size:8px!important;
    opacity:.78!important;
  }

  .tt-header.is-fixed-compact .tt-header__right{
    min-height:42px!important;
  }

  .tt-header.is-fixed-compact .tt-header__login,
  .tt-header.is-fixed-compact .tt-header__register{
    height:38px!important;
  }

  .tt-header.is-fixed-compact .tt-header__nav-list a{
    font-size:12px!important;
  }
}

/* Na tabletach i telefonach nie przełączamy na fixed-compact.
   Zostaje stabilny mobilny sticky header. */
@media(max-width:1040px){
  .tt-header.is-fixed-compact{
    position:sticky!important;
    top:0!important;
  }
  .admin-bar .tt-header.is-fixed-compact{
    top:32px!important;
  }
}
@media(max-width:782px){
  .admin-bar .tt-header.is-fixed-compact{
    top:46px!important;
  }
}


/* ============================================================
   TransTrade Header SCF 1.5.3
   Stabilny sticky header — BEZ zmiany wysokości przy scrollu
   ============================================================ */

/*
 * Najważniejsza zmiana:
 * - brak fixed,
 * - brak placeholdera,
 * - brak klasy kompaktowej sterowanej JS,
 * - jedna stała geometria headera przez cały scroll.
 */
.tt-header{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  z-index:99999!important;

  /* Stała geometria — nie zmieniać przy scrollu */
  padding:12px 0!important;
  margin:0!important;
  background:#f2f7fd!important;

  /* zero animacji wymiarów */
  transition:none!important;
  transform:none!important;
  will-change:auto!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* WordPress toolbar tylko dla administratora / użytkownika z admin-bar */
body.admin-bar .tt-header{
  top:32px!important;
}
@media(max-width:782px){
  body.admin-bar .tt-header{
    top:46px!important;
  }
}

/*
 * Neutralizacja wcześniejszych stanów 1.5.1 / 1.5.2.
 * Nawet gdy stary cache JS na moment doda is-compact lub
 * is-fixed-compact, wygląd i wysokość pozostają takie same.
 */
.tt-header.is-compact,
.tt-header.is-fixed-compact,
.tt-header.is-compact.is-fixed-compact{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  padding:12px 0!important;
  background:#f2f7fd!important;
  transform:none!important;
  transition:none!important;
  will-change:auto!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

body.admin-bar .tt-header.is-compact,
body.admin-bar .tt-header.is-fixed-compact{
  top:32px!important;
}
@media(max-width:782px){
  body.admin-bar .tt-header.is-compact,
  body.admin-bar .tt-header.is-fixed-compact{
    top:46px!important;
  }
}

/* Placeholder z wersji 1.5.2 jest całkowicie wyłączony. */
.tt-header-placeholder,
.tt-header-placeholder.is-active{
  display:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

/* Stała wysokość głównej belki */
.tt-header__shell,
.tt-header.is-compact .tt-header__shell,
.tt-header.is-fixed-compact .tt-header__shell{
  min-height:82px!important;
  height:auto!important;
  border-radius:16px!important;
  box-shadow:0 8px 24px rgba(42,76,120,.07)!important;
  transition:none!important;
}

/* Stały środek */
.tt-header__inner,
.tt-header.is-compact .tt-header__inner,
.tt-header.is-fixed-compact .tt-header__inner{
  min-height:82px!important;
  height:auto!important;
  padding-left:24px!important;
  padding-right:24px!important;
  transition:none!important;
}

/* Stałe logo */
.tt-header__logo,
.tt-header.is-compact .tt-header__logo,
.tt-header.is-fixed-compact .tt-header__logo{
  width:54px!important;
  height:46px!important;
  flex:0 0 54px!important;
  transition:none!important;
}
.tt-header__logo-fallback,
.tt-header.is-compact .tt-header__logo-fallback,
.tt-header.is-fixed-compact .tt-header__logo-fallback{
  width:54px!important;
  height:46px!important;
  flex:0 0 54px!important;
  border-radius:9px!important;
  font-size:21px!important;
  transition:none!important;
}

/* Stałe teksty logo */
.tt-header__title,
.tt-header.is-compact .tt-header__title,
.tt-header.is-fixed-compact .tt-header__title{
  font-size:21px!important;
  line-height:1.1!important;
  margin:0!important;
  transition:none!important;
}
.tt-header__subtitle,
.tt-header.is-compact .tt-header__subtitle,
.tt-header.is-fixed-compact .tt-header__subtitle{
  margin-top:4px!important;
  font-size:9px!important;
  line-height:1.2!important;
  opacity:.78!important;
  transition:none!important;
}

/* Stała nawigacja */
.tt-header__nav-list a,
.tt-header.is-compact .tt-header__nav-list a,
.tt-header.is-fixed-compact .tt-header__nav-list a{
  font-size:13px!important;
  transition:color .15s ease!important;
}

/* Stałe przyciski */
.tt-header__login,
.tt-header__register,
.tt-header.is-compact .tt-header__login,
.tt-header.is-compact .tt-header__register,
.tt-header.is-fixed-compact .tt-header__login,
.tt-header.is-fixed-compact .tt-header__register{
  height:42px!important;
  min-height:42px!important;
  transition:
    background-color .15s ease,
    color .15s ease,
    border-color .15s ease,
    box-shadow .15s ease!important;
}

/* Zero animacji wymiarów brandu i prawej części */
.tt-header__brand,
.tt-header__right{
  transition:none!important;
}

/*
 * Na telefonach zachowujemy standardowy sticky.
 * Nie ma żadnej reakcji na pozycję scrolla.
 */
@media(max-width:1040px){
  .tt-header,
  .tt-header.is-compact,
  .tt-header.is-fixed-compact{
    position:sticky!important;
    padding:8px 0!important;
  }

  .tt-header__shell,
  .tt-header.is-compact .tt-header__shell,
  .tt-header.is-fixed-compact .tt-header__shell{
    min-height:70px!important;
  }

  .tt-header__inner,
  .tt-header.is-compact .tt-header__inner,
  .tt-header.is-fixed-compact .tt-header__inner{
    min-height:70px!important;
  }
}

/*
 * Ważne dla sticky:
 * header sam nie tworzy dodatkowego scroll-containera.
 */
.tt-header{
  overflow:visible!important;
}
