header .header-search {
  display: block;
  background: var(--color-primary-white);
}

/* Main layout: search full-width on top, side columns below */
header .header-search-layout {
  max-width: var(--header-max-width);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-base-space-300);
}

/* Dialog column — full width */
header .header-search-dialog-col {
  width: 100%;
}

header .header-search-dialog-slot {
  width: 100%;
}

/* Author / UE editor layout overrides */
.header-search.block {
  flex-wrap: wrap;
}

.header-search[data-aue-model] > div {
  width: 44%;
}

.header-menu.is-author > div {
  max-width: 50%;
  min-width: 36%;
  float: left;
  clear: left;
  margin-block-end: 1rem;
}

.header-search[data-aue-model] > div:nth-child(1) {
  float: right;
}

.header-search[data-aue-model] > div:nth-child(2) {
  float: left;
}

.header-search[data-aue-model] > [data-aue-model='hs-feature-link'] p,
.header-menu.is-author [data-aue-model] > div > p {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0.5rem;
}

.header-search[data-aue-model] > div:nth-child(2) > div p {
  margin-block-start: 0.5rem;
}

.header-search[data-aue-model] > [data-aue-model='hs-feature-link'] {
  margin-block-start: 1rem;
  float: right;
}

.header-menu.is-author > [data-aue-model='hs-feature-link'] p a,
.header-menu.is-author [data-aue-model] > div > p > [data-aue-prop='hm_list'] p,
.header-search[data-aue-model] > [data-aue-model='hs-feature-link'] p a {
  padding: 0.5rem 0 0;
  margin: 0;
}

.header-menu.is-author h2 {
  margin-block-end: 0;
}

.header-menu.is-author > div:first-child {
  display: none;
}

.header-menu.is-author > div:has([data-aue-prop='hm_list']) {
  float: right;
  clear: both;
}

/* Search dialog styles when hosted inside header-search */
header .header-search .search-dialog.block {
  max-width: none;
  width: 100%;
  align-items: stretch;
}

header .header-search .search-dialog > div:last-child > div[role='tabpanel'] > div:nth-child(2) {
  width: 100%;
}

/* stylelint-disable @stylistic/max-line-length */
header .header-search .search-dialog > div:last-child > div[role='tabpanel'] > div:nth-child(2) > div:first-child:not(:only-child)::after {
  width: 100%;
}
/* stylelint-enable @stylistic/max-line-length */

/* Side column: two sub-columns (link list | feature items) */
header .header-search-side-col {
  display: flex;
  width: 52.125rem;
  justify-content: space-between;
  align-items: flex-start;
  flex-shrink: 0;
  margin-inline-start: 14rem;
}

header:has(.nav-cta-button) .header-search-side-col {
  margin-inline-start: var(--spacing-base-space-300);
}

/* Column base */
header .header-search-column {
  display: flex;
  flex-direction: column;
}

header .header-search-column:nth-child(2) {
  width: 20.625rem;
}

/* Column title — matches header-menu-col-3 link title */
.header-search-column-title {
  margin: 0 0 var(--spacing-base-space-250);
  padding: 0;
  font-family: var(--typography-family-body-sans);
  font-size: var(--typography-font-size-headlines-22);
  font-weight: var(--typography-weight-semi-bold);
  line-height: var(--typography-line-height-lh-29);
  letter-spacing: var(--typography-letter-spacing-0);
  color: var(--palette-default-fg-strong);
}

/* ── Link list column ── */
header .header-search-link-list-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-base-space-300);
}

header .header-search-link-item {
  margin: 0;
  padding: 0;
}

header .header-search-link {
  display: inline-block;
  font-family: var(--typography-family-body-sans);
  font-size: var(--typography-font-size-headlines-22);
  font-weight: var(--typography-weight-regular);
  line-height: var(--typography-line-height-lh-29);
  color: var(--palette-default-fg-interactive);
  text-decoration: none;
}

header .header-search-link-text {
  color: var(--palette-default-fg-strong);
  text-decoration: none;
}

header a.header-search-link:hover,
header a.header-search-link:focus {
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

/* ── Feature items column — matches header-menu col-2 inline grid items ── */
header .header-search-feature-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-base-space-300);
  margin-block-start: 0.625rem;
}

header .header-search-feature-item {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-base-space-200);
  color: var(--palette-default-fg-interactive);
  text-decoration: none;
}

header .header-search-feature-item:hover,
header .header-search-feature-item:focus {
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

header .header-search-feature-icon {
  display: inline-flex;
  width: 3.125rem;
  height: auto;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 0;
}

header .header-search-feature-icon picture,
header .header-search-feature-icon img,
header .header-search-feature-icon svg {
  width: 2.125rem;
  height: 2.125rem;
  object-fit: contain;
  display: block;
}

header .header-search-feature-text {
  font-family: var(--typography-family-body-sans);
  font-size: var(--typography-font-size-headlines-22);
  font-weight: var(--typography-weight-regular);
  line-height: var(--typography-line-height-lh-29);
  letter-spacing: var(--typography-letter-spacing-0);
  color: var(--palette-default-fg-interactive);
  transition: color 0.2s ease-out;
}

/* Responsive */
@media (width < 900px) {
  /* Remove outer padding — columns manage their own (mirrors header-menu mobile) */
  header .header-search {
    padding: 0;
  }

  header .header-search-layout {
    gap: 0;
  }

  /* Single-column stack, no desktop offset */
  header .header-search-side-col {
    grid-template-columns: 1fr;
    margin-inline-start: 0;
    gap: 0;
  }

  /* Reset column base padding (each col handles its own) */
  header .header-search-column {
    padding-block-start: 0;
  }

  /* Link list column — mirrors header-menu col-3 mobile */
  header .header-search-column-links {
    padding:
      var(--spacing-base-space-500)
      var(--spacing-base-space-300)
      var(--spacing-base-space-500);
    background-color: var(--color-secondary-neutral);
    display: flex;
    flex-direction: column;
  }

  header .header-search-column-title {
    font-size: 1.25rem;
    line-height: 1.75rem;
    margin-block-end: var(--spacing-base-space-250);
  }

  header .header-search-link-list-wrapper {
    gap: var(--spacing-base-space-300);
  }

  header .header-search-link {
    font-size: 1.25rem;
    line-height: 1.75rem;
    display: block;
  }

  /* Feature items column — mirrors header-menu col-2 mobile */
  header .header-search-column-feature {
    width: 100%;
    padding:
      0
      var(--spacing-base-space-300)
      var(--spacing-base-space-300);
    background-color: var(--color-primary-white);
    gap: var(--spacing-base-space-300);
  }

  header .header-search-feature-text {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

/* Publish mobile: on mobile the panel moves to body > .nav-menu-panel (not inside <header>),
   so "header ." selectors above don't match — use nav-menu-content as context instead */
@media (width < 900px) {
  .search-dialog.block {
    margin-inline: auto;
    margin-block-start: var(--spacing-base-space-300);
  }

  .nav-menu-content .header-search {
    padding: 0;
    background: var(--color-primary-white);
  }

  .nav-menu-content .header-search-layout {
    gap: 0;
  }

  .nav-menu-content .header-search-side-col {
    display: grid;
    grid-template-columns: 1fr;
    margin-inline-start: 0;
    gap: 0;
  }

  .nav-menu-content .header-search-column {
    padding-block-start: 0;
  }

  .nav-menu-content .header-search-column-links {
    padding:
      var(--spacing-base-space-500)
      var(--spacing-base-space-300)
      var(--spacing-base-space-500);
    display: flex;
    flex-direction: column;
  }

  .nav-menu-content .header-search-column-title {
    margin-block-end: var(--spacing-base-space-250);
    font-size: var(--typography-font-size-headlines-20);
    line-height: var(--typography-line-height-lh-28);
  }

  .nav-menu-content .header-search-link-list-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-base-space-300);
  }

  .nav-menu-content .header-search-link {
    font-size: 1.25rem;
    line-height: 1.75rem;
    display: block;
  }

  .nav-menu-content .header-search-link-text {
    color: var(--palette-default-fg-strong);
    text-decoration: none;
  }

  .nav-menu-content .header-search-column-feature {
    width: 100%;
    padding:
      0
      var(--spacing-base-space-300)
      var(--spacing-base-space-300);
    background-color: var(--color-primary-white);
  }

  .nav-menu-content .header-search-feature-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-base-space-300);
    margin-block-end: 0.625rem;
  }

  .nav-menu-content .header-search-feature-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-base-space-200);
  }

  .nav-menu-content .header-search-feature-icon {
    display: inline-flex;
    width: 2.125rem;
    height: auto;
  }

  .nav-menu-content .header-search-feature-icon img,
  .nav-menu-content .header-search-feature-icon picture {
    width: 100%;
    height: auto;
  }

  .nav-menu-content .header-search-feature-text {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
