/* Header: fixed at top but hides on scroll down when JS enables it */
header.site-header-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  height: auto;
  transform: translateY(0);
  transition: transform 0.28s cubic-bezier(0.2, 0.7, 0.2, 1);
  z-index: 9999;
}

/* class added/removed by JS to hide the header */
.site-header-hidden,
header.site-header-fixed.site-header-hidden {
  transform: translateY(-110%);
}

/* Navigation links: underline on hover and active */
.wp-block-navigation .wp-block-navigation-item__content {
  border-bottom: 2px solid transparent;
  padding-bottom: 2px;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible {
  border-bottom-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--primary);
}

.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-parent > .wp-block-navigation-item__content,
.wp-block-navigation .current_page_item > .wp-block-navigation-item__content,
.wp-block-navigation .current_page_ancestor > .wp-block-navigation-item__content,
.wp-block-navigation .current_page_parent > .wp-block-navigation-item__content {
  border-bottom-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--primary);
}

/* 1. Wymuszenie trybu mobilnego w szarej strefie WP (między 600px a 780px) */
@media (min-width: 600px) and (max-width: 779px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none !important;
  }
}

@media (max-width: 780px) {
  header.site-header-fixed {
    /* Możesz użyć height: auto, jeśli wolisz, by header dopasował się np. do logo */
    height: auto; 
    /* Dodaj min-height, by zachować bezpieczny bufor na logo i przycisk */
    min-height: 68px; 
  }
  
  body {
    /* Padding ustawiony na sztywno załatwia sprawę skakania treści na mobilce */
    padding-top: 68px; 
  }
}

/* Mobile navigation: make responsive navigation full-screen overlay */
@media (max-width: 780px) {
  .wp-block-navigation__responsive-container {
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    transform: translateY(-110%);
    transition: transform 0.3s ease-in-out;
    z-index: 9998; /* Below the header */
  }

  .wp-block-navigation__responsive-close {
    height: 100%;
  }

  .wp-block-navigation__responsive-dialog {
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .wp-block-navigation__responsive-container-content {
    flex: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }

  .wp-block-navigation__responsive-container-content .wp-block-buttons {
    margin-top: auto;
  }

  .wp-block-navigation__responsive-container-content .wp-block-buttons,
  .wp-block-navigation__responsive-container-content .wp-block-button,
  .wp-block-navigation__responsive-container-content .wp-block-button__link {
    width: 100%;
    box-sizing: border-box;
  }

  .site-header .site-navigation.active {
    transform: translateY(0);
  }

  header nav {
    justify-content: flex-end !important;
  }
}