/*--------------------------------------------------------------
# Layout
  - Header layout
  - Section containers
--------------------------------------------------------------*/

/* Header container */

.tf-header {
  position: relative;
  z-index: 50;
}

/* Flex container inside inner wrapper */
.tf-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

/* Center nav: allow it to grow, keep text centered */
.tf-header__nav {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
}

/* Nav + login wrapper */
.tf-header__nav-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  flex: 1 1 auto;
}

/* Header wrapper: overrides section padding */
.tf-header__outer {
  margin: 0 auto;
  padding: 2rem 4rem 0; /* desktop: top 32px, sides 64px */
}

@media (max-width: 1679px) and (min-width: 1024px) {
  .tf-header__outer {
    padding: 2rem 3rem 0;
  }
}

@media (max-width: 1023px) and (min-width: 768px) {
  .tf-header__outer {
    padding: 1.5rem 2rem 0;
  }
}

@media (max-width: 767px) {
  .tf-header__outer {
    padding: 1rem 1rem 0;
  }
}

/* Full-width section wrapper */

.tf-section {
  width: 100%;
  margin: 0;
}

/* Outer padding wrapper */
.tf-section__outer {
  margin: 0 auto;
  padding: 3rem 1rem; /* mobile default: 3 / 1 */
}

/* Inner max-width container */
.tf-section__inner {
  max-width: var(--tf-container-max);
  margin: 0 auto;
  padding: 0;
}

/* Tablet ≥ 768px: 4rem / 2rem */
@media (min-width: 768px) {
  .tf-section__outer {
    padding: 4rem 2rem;
  }
}

/* Laptop ≥ 1024px: 5rem / 3rem */
@media (min-width: 1024px) {
  .tf-section__outer {
    padding: 5rem 3rem;
  }
}

/* Desktop ≥ 1680px: 6rem / 4rem */
@media (min-width: 1680px) {
  .tf-section__outer {
    padding: 6rem 4rem;
  }
}