/* =========================================================
   Inversiones Alvport — Header normal responsive 2.1.7
   Loaded after all historical header CSS.
   Sticky .alv-st6 is intentionally untouched.
   ========================================================= */

/*
 * Desktop/tablet landscape:
 * One real row:
 * [ logo ] [ flexible search ] [ profile + quote ]
 *
 * Side columns are symmetrical so the search remains visually centered.
 * No fixed 570px / 205px / 112px geometry.
 */
@media (min-width: 901px) {
  .alv-header-main .alv-header-main__inner {
    width: min(calc(100% - 40px), var(--alv-header-width)) !important;
    max-width: var(--alv-header-width) !important;
    margin-inline: auto !important;
    padding: 0 !important;
  }

  .alv-header-main .alv-h4-row {
    display: grid !important;
    grid-template-columns:
      clamp(135px, 16vw, 205px)
      minmax(0, 1fr)
      clamp(135px, 16vw, 205px) !important;
    grid-template-rows: auto !important;
    width: 100% !important;
    min-height: clamp(86px, 7vw, 104px) !important;
    height: auto !important;
    align-items: center !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .alv-header-main .alv-h4-logo {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .alv-header-main .alv-h4-logo .custom-logo {
    width: clamp(118px, 11vw, 155px) !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 58px !important;
    object-fit: contain !important;
  }

  /*
   * Real inner grid spanning centre + right side.
   * Search and actions explicitly share row 1.
   */
  .alv-header-main .alv-h4-tools {
    display: grid !important;
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    grid-template-columns:
      minmax(0, 1fr)
      clamp(135px, 16vw, 205px) !important;
    grid-template-rows: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: center !important;
    align-self: center !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /*
   * Responsive search:
   * ~414px around 900px viewport,
   * ~560px around 1217px viewport,
   * grows up to 640px on wide screens.
   */
  .alv-header-main .alv-h4-search {
    position: relative !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    align-self: center !important;
    width: clamp(320px, 46vw, 640px) !important;
    min-width: 0 !important;
    max-width: calc(100% - clamp(12px, 2vw, 28px)) !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    inset: auto !important;
    transform: none !important;
    overflow: visible !important;
  }

  /*
   * Hidden inputs are fine; any legacy paragraph/BR node is removed from
   * layout defensively while Core 0.21.1 prevents them at source.
   */
  .alv-header-main .alv-h4-search > br,
  .alv-header-main .alv-h4-search > p {
    display: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .alv-header-main .alv-h4-search__field {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: block !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  .alv-header-main .alv-h4-search__input {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 55px 0 17px !important;
    transform: none !important;
  }

  .alv-header-main .alv-h4-search__button {
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    transform: none !important;
  }

  .alv-header-main .alv-h4-actions {
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    justify-self: stretch !important;
    align-self: center !important;
    gap: clamp(6px, .8vw, 10px) !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .alv-header-main .alv-h4-actions .alv-header-profile,
  .alv-header-main .alv-h4-actions .alv-header-quote {
    align-self: center !important;
    margin: 0 !important;
    transform: none !important;
  }

  /*
   * Dropdown remains anchored to the search itself and therefore inherits
   * its responsive width automatically.
   */
  .alv-header-main .alv-h4-search__results {
    top: calc(100% + 1px) !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}

/*
 * Narrow desktop safety:
 * Keep one line; reduce side reservations before ever wrapping search.
 */
@media (min-width: 901px) and (max-width: 1040px) {
  .alv-header-main .alv-h4-row {
    grid-template-columns:
      clamp(120px, 14vw, 150px)
      minmax(0, 1fr)
      clamp(120px, 14vw, 150px) !important;
  }

  .alv-header-main .alv-h4-tools {
    grid-template-columns:
      minmax(0, 1fr)
      clamp(120px, 14vw, 150px) !important;
  }

  .alv-header-main .alv-h4-search {
    width: clamp(300px, 45vw, 470px) !important;
    max-width: calc(100% - 12px) !important;
  }

  .alv-header-main .alv-h4-logo .custom-logo {
    width: clamp(105px, 11vw, 125px) !important;
  }
}

/* Mobile behavior remains owned by the existing theme rules. */


/* =========================================================
   Production brand fallback
   ========================================================= */
.alv-header-main .alv-h4-logo__fallback {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #162b4c !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.alv-header-main .alv-h4-logo__resolved {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}

