/*
 * H11.6-SEARCH2 R1.1 — Visual Authority
 * Resets inherited search-card grid/position rules and enforces the approved layout.
 */

@media (min-width: 821px) {
  form.search-card.search-card-v230.search2-form {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    grid-template-areas: none !important;
    align-items: initial !important;
    justify-items: initial !important;
    gap: 0 !important;
    width: min(1420px, calc(100% - 32px)) !important;
    max-width: 1420px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 28px 30px 24px !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    overflow: visible !important;
  }

  form.search2-form > .search2-intro,
  form.search2-form > .search2-main-row,
  form.search2-form > .search2-more-panel,
  form.search2-form > .search2-footer,
  form.search2-form > .search2-status {
    position: static !important;
    inset: auto !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin-inline: 0 !important;
    transform: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-area: auto !important;
  }

  form.search2-form > .search2-intro {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) max-content !important;
    align-items: center !important;
    gap: 24px !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
  }

  .search2-intro-copy {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: start !important;
    justify-self: start !important;
  }

  [dir="rtl"] .search2-intro-copy {
    justify-self: end !important;
  }

  .search2-intro-copy > * {
    position: static !important;
    float: none !important;
    width: auto !important;
    margin-inline: 0 !important;
    transform: none !important;
  }

  .search2-more-toggle {
    position: static !important;
    inset: auto !important;
    justify-self: end !important;
    align-self: center !important;
    width: auto !important;
    min-width: 150px !important;
    margin: 0 !important;
    transform: none !important;
  }

  [dir="rtl"] .search2-more-toggle {
    justify-self: start !important;
  }

  form.search2-form > .search2-main-row {
    display: grid !important;
    grid-template-columns:
      minmax(310px,1.7fr)
      minmax(210px,.8fr)
      minmax(235px,.95fr)
      minmax(175px,.62fr) !important;
    align-items: end !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .search2-main-row > .search2-field,
  .search2-main-row > .search2-submit {
    position: static !important;
    inset: auto !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-area: auto !important;
  }

  .search2-main-row .search2-keyword {
    min-width: 0 !important;
  }

  .search2-main-row .search2-submit {
    min-width: 0 !important;
    min-height: 58px !important;
  }

  form.search2-form > .search2-more-panel {
    display: block !important;
    margin: 20px 0 0 !important;
    padding: 20px !important;
  }

  form.search2-form > .search2-more-panel[hidden] {
    display: none !important;
  }

  .search2-more-heading {
    position: static !important;
    width: 100% !important;
    margin: 0 0 15px !important;
    padding: 0 !important;
    transform: none !important;
  }

  .search2-more-grid {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    align-items: end !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .search2-more-grid > .search2-field {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-area: auto !important;
  }

  form.search2-form > .search2-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 18px 0 0 !important;
    padding: 15px 0 0 !important;
  }

  .search2-selected {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .search2-reset {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
  }

  form.search2-form > .search2-status {
    margin-top: 6px !important;
    padding: 0 !important;
  }

  /* Neutralize inherited child layout rules from older search implementations. */
  form.search2-form .search-row,
  form.search2-form .search-field,
  form.search2-form .search-main,
  form.search2-form .search-row-main,
  form.search2-form .search-row-filters,
  form.search2-form .search-row-action {
    position: static !important;
    inset: auto !important;
    float: none !important;
    transform: none !important;
    grid-area: auto !important;
  }
}

@media (min-width: 1181px) and (max-width: 1450px) {
  form.search2-form > .search2-main-row {
    grid-template-columns:
      minmax(280px,1.45fr)
      minmax(185px,.75fr)
      minmax(205px,.85fr)
      minmax(165px,.62fr) !important;
  }
}

@media (min-width: 821px) and (max-width: 1180px) {
  form.search-card.search-card-v230.search2-form {
    width: min(100% - 24px, 1100px) !important;
    padding: 24px !important;
  }

  form.search2-form > .search2-main-row {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .search2-main-row .search2-submit {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 820px) {
  form.search-card.search-card-v230.search2-form {
    display: block !important;
    grid-template: none !important;
    width: calc(100% - 20px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 17px !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
  }

  form.search2-form > * {
    position: static !important;
    inset: auto !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
    grid-area: auto !important;
  }

  form.search2-form > .search2-intro,
  form.search2-form > .search2-main-row,
  .search2-more-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .search2-more-toggle,
  .search2-submit,
  .search2-reset {
    width: 100% !important;
  }
}

/* Home wrapper must never impose the legacy grid on SEARCH2. */
.home-tq-search-shell.search2-home-shell,
#home-search-shell.search2-home-shell {
  display: block !important;
  grid-template: none !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  overflow: visible !important;
}
