/*
You can add your own CSS here.

Click the help icon above to learn more.
*/

/* Reserve optional 6th hero bullet slot */
#header .header-txt-list > li:nth-child(6) {
  display: none !important;
}

/* Hide hero form short description */
#header .header-form-heading > p { display: none !important; }

/* Hide legacy hero fields if stale markup appears */
#header_form_phone,
#header_form_message,
#header .wpcf7-form-control-wrap[data-name="text-phone"],
#header .wpcf7-form-control-wrap[data-name="textarea-message"] {
  display: none !important;
}

/* Hide extra small/gold labels in hero title block */
/* Hero subtitle typography */
@media (max-width: 991px) {
  }
@media (max-width: 575px) {
  }
/* Hide pencil icon in hero form heading */
#header .header-form-heading h4 > i.fa.fa-pencil { display: none !important; }

/* Hero form heading: compact but stable */
@media (min-width: 992px) {
  #header .header-form-heading h4 {
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.01em !important;
  }
}

/* Hero first list item */
/* Hero first list item: hide icon and let text fill full row */
#header .header-txt-list > li:first-child > i.fa,
#header .header-txt-list > li:nth-child(5) > i.fa {
  display: none !important;
}
#header .header-txt-list > li:first-child,
#header .header-txt-list > li:nth-child(5) {
  padding-left: 0 !important;
}
#header .header-txt-list > li:first-child h4 {
  color: #1f3455 !important;
  font-size: 28px !important;
  line-height: 1.267 !important;
  margin-bottom: 0 !important;
}
#header .header-txt-list > li:first-child p {
  margin-left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
#header .header-txt-list > li:nth-child(5) h4 {
  color: #c62828 !important;
  font-size: 26px !important;
  line-height: 1.267 !important;
  margin-bottom: 12px !important;
}
#header .header-txt-list > li:nth-child(5) p {
  margin-left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Match form heading typography to first list title */
#header .header-form-heading h4 {
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}
/* Force white color for form heading */
#header .header-form-heading h4 { color: #ffffff !important; }


/* Annotacja: zmniejszony odstep gora/dol sekcji hero (bylo 61/68px + 52.8/74px) */
#header .header-content, body.page-id-1878 .header-content { padding-top: 32px !important; padding-bottom: 32px !important; }
body.page-id-1878 .nt-hero-v3__shell { padding-top: 24px !important; padding-bottom: 24px !important; }






/* ===== STICKY HEADER ===== */

/* Cofnij nasze poprzednie nadpisanie #navigation - niech temat go kontroluje */
#navigation {
  position: relative !important;
  background-color: transparent !important;
  box-shadow: none !important;
  width: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  z-index: auto !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Kompensacja padingu - cofnij */
header#header {
  padding-top: 0 !important;
}

/* Natywny sticky bar tematu: #navigation_affix.show */
#navigation_affix {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.10);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
#navigation_affix,
#navigation_affix.show {
  background-color: #ffffff !important;
  display: block !important;
}
#navigation_affix.show .navbar-nav > li > a,
#navigation_affix.show .navbar-nav > li > span {
  color: #1f3455 !important;
}
#navigation_affix.show .navbar-nav > li > a:hover {
  color: #c62828 !important;
}

/* Sticky bar tylko na desktopie (>=992px). Na mobile/tablecie dzialaa
   hamburger (#navigation_mobile), wiec sticky bar musi byc ukryty -
   inaczej jego poziome linki rozjezdzaja sie pionowo. */
@media (max-width: 991px) {
  #navigation_affix,
  #navigation_affix.show {
    display: none !important;
  }
}

/* Hamburger w strefie tabletu (768-991px): poziome menu nie miesci sie
   w jednej linii. Chowamy desktop nav (wysoka specyficznosc bije temat),
   pokazujemy mobilne menu z hamburgerem. */
@media (max-width: 991px) {
  #navigation .nav,
  #navigation #primary-menu,
  #header #navigation .nav {
    display: none !important;
  }
  /* Bialy pasek: logo z lewej, hamburger z prawej, w jednym rzedzie.
     Menu rozwijane (.nav-menu-links) jest miedzy nimi w DOM, wiec dajemy
     mu pelna szerokosc (flex-basis:100%), by spadalo pod spod. */
  #navigation_mobile {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: #ffffff !important;
    padding: 8px 16px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.10);
    /* Rezerwujemy wysokosc z gory, zeby wstrzykiwane przez JS logo
       nie powodowalo layout shift (CLS) po zaladowaniu strony. */
    min-height: 51px !important;
    box-sizing: border-box !important;
  }
  /* Logo po lewej */
  #navigation_mobile .nt-mobile-logo {
    order: 1;
    display: inline-flex;
    align-items: center;
    line-height: 0;
  }
  #navigation_mobile .nt-mobile-logo img {
    height: 32px;
    width: auto;
    display: block;
  }
  /* Przycisk hamburgera po prawej, na bialym -> ciemny */
  #navigation_mobile .nav-menu-button {
    order: 2;
    background: transparent !important;
    padding: 0 !important;
    width: auto !important;
    margin-left: auto;
  }
  #navigation_mobile .nav-menu-toggle {
    background: transparent !important;
    border: 0 !important;
    padding: 6px 8px !important;
    color: #1f3455 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer;
  }
  #navigation_mobile .nav-menu-toggle i.fa { color: #1f3455 !important; }
  /* Menu rozwijane: pelna szerokosc, spada pod logo+hamburger. */
  #navigation_mobile .nav-menu-links {
    order: 3;
    flex-basis: 100%;
    width: 100%;
    display: block !important;
    background: #ffffff !important;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease;
  }
  #navigation_mobile .nav-menu-links.nt-mobile-open {
    max-height: 60vh;
    margin-top: 8px;
  }
  /* Linki menu na bialym tle: ciemny tekst */
  #navigation_mobile .nav-menu-links a {
    color: #1f3455 !important;
  }
}
/* ===== / STICKY HEADER ===== */


/* ===== ANCHOR OFFSET (sticky header) ===== */
/* Fallback dla natywnego skoku do :target (gdy JS nie zadziala).
   Desktop: sticky bar ~60px widoczny -> 90px zapasu.
   Mobile/tablet (<=991px): sticky bar ukryty -> tylko maly oddech 20px,
   inaczej kotwice ladowalyby za nisko. */
html {
  scroll-padding-top: 90px;
}
:target,
.body-wrap [id],
.nt-consultation-effect,
.vc_row[id],
section[id] {
  scroll-margin-top: 90px;
}
@media (max-width: 991px) {
  /* Mobilny pasek z hamburgerem (#navigation_mobile) jest sticky ~46px,
     wiec kotwice musza zostawic na niego miejsce + maly oddech. */
  html {
    scroll-padding-top: 66px;
  }
  :target,
  .body-wrap [id],
  .nt-consultation-effect,
  .vc_row[id],
  section[id] {
    scroll-margin-top: 66px;
  }
}
/* ===== / ANCHOR OFFSET ===== */
