/* Look Modern Results Pass 1. Scoped away from navigation and the homepage. */
#main_results #urls > article.result,
#main_results #urls > [class^="template_group_"] > article.result {
  margin-bottom: 0.55rem;
  padding-bottom: 1.15rem;
}

#main_results article.result:not(.result-images) .url_header {
  align-items: center;
  gap: 0.65rem;
  max-width: 100%;
  text-decoration: none;
}

#main_results article.result:not(.result-images) .url_header > .favicon {
  align-items: center;
  background: color-mix(in srgb, var(--color-result-url-font) 11%, transparent);
  border-radius: 50%;
  display: flex;
  flex: 0 0 1.875rem;
  height: 1.875rem;
  justify-content: center;
  overflow: hidden;
  width: 1.875rem;
}

#main_results article.result:not(.result-images) .url_header > .favicon img {
  height: 1.25rem;
  object-fit: contain;
  width: 1.25rem;
}

#main_results article.result:not(.result-images) .source_wrapper {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  line-height: 1.2;
  min-width: 0;
}

/* The label is metadata-backed or conservatively derived from the host. */
#main_results article.result:not(.result-images) .source_identity {
  color: var(--color-base-font);
  font-size: 1.2rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#main_results article.result:not(.result-images) .technical_location {
  color: var(--color-result-url-font);
  display: flex;
  font-size: 0.78rem;
  gap: 0.3rem;
  margin-top: 0.1rem;
  min-width: 0;
  opacity: 0.78;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#main_results article.result:not(.result-images) .technical_domain {
  flex: 0 0 auto;
}

#main_results article.result:not(.result-images) .technical_path {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

#main_results article.result:not(.result-images) h3 { margin-top: 0.5rem; }
#main_results article.result:not(.result-images) .engines { opacity: 0.72; }
#main_results article.result:not(.result-images) .engines span,
#main_results article.result:not(.result-images) .engines a { font-size: 0.75rem; }

#main_results #engines_msg summary.title {
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 0.35rem;
  opacity: 0.78;
}

#main_results #results_diagnostics {
  box-sizing: border-box;
  display: flex;
  justify-content: flex-end;
  margin: 0.75rem auto 0;
  max-width: calc(100% - 1rem);
  width: 45rem;
}

#main_results #results_diagnostics #engines_msg { max-width: 100%; }
#main_results #results_diagnostics:empty { display: none; }
#main_results #sidebar > #sidebar-end-collapsible:only-child { border-bottom: 0; }

@media screen and (min-width: 50.001em) {
  #main_results .search_filters {
    align-items: center;
    box-sizing: border-box;
    height: 3rem;
    margin-top: 0;
  }

  #main_results .search_filters select { height: 2rem; }

  html.center-alignment-yes #main_results #results:not(.only_template_images, .image-detail-open),
  html.center-alignment-no #main_results #results:not(.only_template_images, .image-detail-open) {
    margin-top: 0;
  }
}

/* Upstream reserves a 25rem sidebar at wide sizes. Use one centered track when
   the viewport is genuinely wide, while keeping result copy readable. */
@media screen and (min-width: 90rem) {
  .center-alignment-yes #main_results,
  .center-alignment-no #main_results { --center-page-width: min(82vw, 86rem); }

  html.center-alignment-yes #main_results #results:not(.only_template_images, .image-detail-open),
  html.center-alignment-no #main_results #results:not(.only_template_images, .image-detail-open) {
    grid-template:
      "corrections" min-content
      "answers" min-content
      "sidebar" min-content
      "urls" 1fr
      "pagination" min-content
      / minmax(0, 1fr);
    margin-left: auto;
    margin-right: auto;
    max-width: none;
    width: var(--center-page-width);
  }

  html.center-alignment-no #main_results #search_header {
    column-gap: 1.2rem;
    grid-template-areas: "na logo search" "na spacer categories";
    grid-template-columns: calc(50% - 4.5rem - var(--center-page-width) / 2) 3rem var(--center-page-width);
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }

  html.center-alignment-no #main_results #search {
    align-items: center;
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  html.center-alignment-no #main_results .search_filters {
    margin-left: 0.5rem;
    width: var(--center-page-width);
  }

  #main_results #results_diagnostics { width: var(--center-page-width); }

  #main_results #results .result .content,
  #main_results #results .result .stat { max-width: 72ch; }
}

@media screen and (max-width: 50em) {
  #main_results #urls > article.result,
  #main_results #urls > [class^="template_group_"] > article.result { margin-bottom: 0.75rem; }
  #main_results article.result:not(.result-images) .technical_location { max-width: 100%; }
}
