/*
 * Header: WP JetThemeCore templates 1063 (default) and 1117 (inverse, home only).
 * docs/design/components/{header,nav,auth-links}.md, docs/design/elementor-css/post-1063.css / post-1117.css.
 */
.site-header {
  position: relative;
  padding: 5px 0;
  border-bottom: 1px solid var(--gray-300);
}
.site-header--inverse {
  border-bottom: 0;
  background-color: var(--color-secondary);
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
}

.site-header__container {
  display: flex;
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
}

/* Elementor column + widget-wrap: 50 % each, padding 15px, widgets as centered flex-wrap items. */
.site-header__col {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
  width: 50%;
  padding: 15px;
}
.site-header__col--end {
  justify-content: flex-end;
}

/* Logo (.jet-logo): 225×40, 25px to the menu. */
.site-logo {
  display: flex;
  flex: 0 0 auto;
  margin: 0 25px 0 0;
}
.site-logo__img {
  display: block;
  width: 225px;
  max-width: 100%;
  height: 40px;
}

/* Menu (.jet-nav-wrap / .jet-nav) */
.main-nav {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  max-width: 100%;
}
.main-nav__toggle {
  display: none;
}
.main-nav__menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
}
.main-nav__item {
  position: relative;
  display: block;
}
.main-nav__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 15px;
  color: var(--color-secondary);
}
.main-nav__text {
  display: block;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.71em;
  letter-spacing: 0;
}
.main-nav__item:hover > .main-nav__link,
.main-nav__item.is-current > .main-nav__link {
  color: var(--color-primary);
}
.site-header--inverse .main-nav__link {
  color: var(--color-white);
}
.site-header--inverse .main-nav__item:hover > .main-nav__link,
.site-header--inverse .main-nav__item.is-current > .main-nav__link {
  color: var(--color-primary);
}

/* Auth links (.jet-auth-links): widget margin 10px 0 */
.auth-links {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-start;
  margin: 10px 0;
}
.auth-links__section {
  display: flex;
  align-items: center;
}
/* Scoped to the header: auth.css has an unrelated `.auth-links a` rule (login form links) that must not recolour these. */
.site-header .auth-links__item {
  margin: 0 5px;
  color: var(--color-secondary);
  font-family: var(--font-sans);
  font-size: var(--fs-button-sm);
  font-weight: 700;
  line-height: var(--lh-button-sm);
  text-transform: uppercase;
}
.site-header .auth-links__item:hover {
  color: var(--color-primary);
}
.auth-links__prefix {
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.67em;
  text-transform: uppercase;
}
.site-header--inverse .auth-links__item {
  color: var(--color-white);
}
.site-header--inverse .auth-links__item:hover {
  color: var(--color-primary);
}
/* Inverse header: the prefix keeps the kit Text style, not uppercased ("or"). */
.site-header--inverse .auth-links__prefix {
  color: var(--gray-400);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  text-transform: none;
}

/* "Agregar propiedad" (#8c36129 / #d05f85a): widget margin-left 25px */
.site-header__cta {
  flex: 0 0 auto;
  margin: 0 0 0 25px;
}

/* Tablet: columns 65 % / 35 %, the right column wraps (auth links on line 1, button on line 2). */
@media (max-width: 1024px) {
  .site-header__container {
    flex-wrap: wrap;
  }
}
@media (max-width: 1024px) and (min-width: 768px) {
  .site-header__col--start { width: 65%; }
  .site-header__col--end { width: 35%; }
}

/* Mobile: stacked columns; row 1 = menu trigger + logo, row 2 = auth links + button centered. */
@media (max-width: 767px) {
  .site-header__col {
    width: 100%;
    padding: 10px;
  }
  .site-header__col--end {
    justify-content: center;
  }
  .site-logo {
    order: 1;
    margin: 0 0 0 15px;
  }

  .main-nav {
    flex-direction: column;
  }
  .main-nav__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-accent);
    cursor: pointer;
  }
  .main-nav__toggle svg {
    display: block;
    width: 14px;
    height: 14px;
    fill: currentColor;
  }
  .main-nav__toggle-icon {
    display: flex;
  }
  .main-nav__toggle-icon--close,
  .main-nav.is-open .main-nav__toggle-icon--open {
    display: none;
  }
  .main-nav.is-open .main-nav__toggle-icon--close {
    display: flex;
  }

  /* Full-width panel under the first header row (WP: top 40px + margin-top 10px, left -10px). */
  .main-nav__menu {
    position: absolute;
    top: 40px;
    left: -10px;
    z-index: 9999;
    display: block;
    width: 100vw;
    margin-top: 10px;
    overflow: auto;
    background-color: var(--color-white);
    transform: scaleY(0);
    transform-origin: top center;
    visibility: hidden;
    transition: transform 0.2s cubic-bezier(0.35, 0.19, 0.45, 0.91), visibility 0.2s;
  }
  .main-nav.is-open .main-nav__menu {
    padding: 20px;
    box-shadow: var(--shadow-menu);
    transform: none;
    visibility: visible;
  }
  .main-nav__link {
    justify-content: flex-start;
    text-align: left;
  }
}
