/* ==========================================================================
   Szkielet strony: .site-header, .site-footer, .entry (treść zwykłych stron i wpisów).
   ========================================================================== */

/* Nagłówek */
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--white-trans-90);
  box-shadow: 0 2px 18px var(--base-trans-10);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.admin-bar .site-header {
  top: var(--wp-admin--admin-bar--height, 0px);
}

.site-header__inner {
  display: flex;
  align-items: center;
  gap: var(--space-l);
  height: var(--header-height);
}

.site-header__brand {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin-right: auto;
  color: var(--base);
  text-decoration: none;
}

.site-header__brand:hover {
  color: var(--base);
}

.site-header__logo {
  width: 2.25rem;
  height: 2.25rem;
}

.site-header__name {
  display: flex;
  flex-direction: column;
  font-size: var(--text-l);
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.site-header__role {
  color: var(--text-dark);
  font-family: var(--accent-font-family);
  font-size: var(--text-xs);
  font-style: italic;
}

.site-header__menu {
  display: flex;
  gap: var(--space-m);
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__item--mobile {
  display: none;
}

.site-header__link {
  padding: 6px 0;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  color: var(--text-dark);
  font-size: var(--text-s);
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-size 0.4s var(--transition-timing), color 0.3s;
}

.site-header__link:hover,
.site-header__link:focus-visible,
.site-header__link[aria-current="page"] {
  background-size: 100% 1px;
  color: var(--primary);
}

.site-header__toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-right: -0.75rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--base);
  cursor: pointer;
}

.site-header__toggle-icon {
  width: 26px;
  height: 7px;
  fill: currentColor;
}

@media (max-width: 1100px) {
  .site-header__inner {
    gap: var(--space-m);
  }

  .site-header__menu {
    gap: var(--space-s);
  }
}

@media (max-width: 900px) {
  .site-header__nav {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    padding: var(--space-xs) var(--gutter) var(--space-m);
    background: var(--white);
    box-shadow: 0 14px 24px var(--base-trans-10);
  }

  .site-header--open .site-header__nav {
    display: block;
  }

  .site-header__menu {
    flex-direction: column;
    gap: 0;
  }

  .site-header__item--mobile {
    display: block;
  }

  .site-header__link {
    display: block;
    padding: var(--space-xs) 0;
    font-size: var(--text-m);
  }

  .site-header__cta {
    display: none;
  }

  .site-header__toggle {
    display: flex;
  }
}

@media (max-width: 767px) {
  .site-header__logo {
    width: 1.875rem;
    height: 1.875rem;
  }
}

/* Treść zwykłych stron i wpisów (bloki rdzenia w kontenerze, sekcje NDK na pełną szerokość) */
.entry__header {
  padding-block: var(--section-space-s) var(--space-l);
}

.entry__content > :where(:not([class*="wp-block-ndk-"], section, .alignfull)) {
  width: min(100% - 2 * var(--gutter), var(--content-width));
  margin-inline: auto;
}

.entry__content > :where(p, ul, ol, blockquote, h2, h3, h4) {
  max-width: 70ch;
}

.entry__content > * + :where(:not(section)) {
  margin-top: var(--space-s);
}

/* Stopka */
.site-footer {
  padding: var(--space-xxl) 0 var(--space-m);
  background: var(--neutral-ultra-light);
}

.site-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: var(--space-xl);
  align-items: start;
}

.site-footer__name {
  margin-top: var(--space-s);
  color: var(--base);
  font-size: var(--text-l);
}

.site-footer__subtitle {
  display: block;
  margin-top: 4px;
  color: var(--text-dark);
  font-family: var(--accent-font-family);
  font-style: italic;
}

.site-footer__phone {
  display: block;
  color: var(--primary);
  font-family: var(--accent-font-family);
  font-size: var(--text-xxl);
  font-style: italic;
  line-height: 1.05;
  text-decoration: none;
}

.site-footer__mail {
  display: inline-block;
  margin-top: var(--space-xs);
  color: var(--primary);
  font-size: calc(var(--text-l) * 1.1);
  text-decoration: underline;
  text-decoration-color: var(--primary-trans-30);
  text-underline-offset: 5px;
  overflow-wrap: anywhere;
}

.site-footer__phone:hover,
.site-footer__mail:hover {
  color: var(--secondary-dark);
}

.site-footer__label {
  margin-top: var(--space-l);
  color: var(--base);
  font-size: var(--text-s);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-footer__places {
  margin: var(--space-xs) 0 0;
  padding: 0;
  list-style: none;
}

.site-footer__place {
  position: relative;
  padding-left: 2rem;
  color: var(--primary);
  font-family: var(--accent-font-family);
  font-size: calc(var(--text-l) * 1.17);
  font-style: italic;
  line-height: 1.5;
}

.site-footer__place::before {
  content: "";
  position: absolute;
  top: 0.78em;
  left: 0;
  width: 1rem;
  height: 1px;
  background: var(--secondary);
}

.site-footer__form {
  display: inline-flex;
  gap: var(--space-xs);
  margin-top: var(--space-m);
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
  color: var(--primary);
  font-size: var(--text-l);
  text-decoration: none;
}

.site-footer__form:hover {
  color: var(--secondary-dark);
}

.site-footer__social {
  display: flex;
  gap: var(--space-xs);
  margin: var(--space-m) 0 0;
  padding: 0;
  list-style: none;
}

.site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--primary-trans-30);
  border-radius: 50%;
  color: var(--primary);
  transition: background-color var(--transition), color var(--transition), border-color var(--transition);
}

.site-footer__social-link:hover,
.site-footer__social-link:focus-visible {
  border-color: var(--primary);
  background: var(--primary);
  color: var(--text-light);
}

.site-footer__social-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.site-footer__bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-s) var(--space-m);
  margin-top: var(--space-xl);
  padding-top: var(--space-s);
  border-top: 1px solid var(--base-trans-20);
  font-size: var(--text-s);
}

.site-footer__menu {
  display: flex;
  flex-wrap: wrap;
  gap: 8px var(--space-m);
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__link {
  color: inherit;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.site-footer__link:hover {
  color: var(--primary);
}

@media (max-width: 767px) {
  .site-footer__grid {
    grid-template-columns: 1fr;
    gap: var(--space-l);
  }

  .site-footer__bar {
    flex-direction: column;
  }
}
