/* ── Search results page ────────────────────────────────────────── */
.search-body {
  padding: 30px 0 70px;
  background: #f6f8fb;
}

.search-form {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 760px;
  margin: 0 0 26px;
  padding: 8px 10px 8px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
}

.search-form__icon {
  color: #94a3b8;
  font-size: 1.1rem;
}

.search-form input[type="search"] {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  background: transparent;
  color: #0f172a;
  font-family: "Roboto", sans-serif;
  font-size: 15px;
  outline: none;
}

.search-form__submit {
  flex: 0 0 auto;
  padding: 10px 22px;
  border: 0;
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease;
}

.search-form__submit:hover {
  background: #0b5e96;
}

.search-summary {
  margin: 0 0 20px;
  color: #475569;
  font-size: 15px;
}

.search-group {
  margin-bottom: 22px;
  padding: 22px 26px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.search-group__title {
  margin: 0 0 14px;
  color: #1664b3;
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.search-results {
  margin: 0;
  padding: 0;
  list-style: none;
}

.search-result {
  padding: 12px 0;
  border-top: 1px solid #eef2f7;
}

.search-result:first-child {
  border-top: 0;
}

.search-result__link {
  color: #0f172a;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}

.search-result__link:hover {
  color: var(--primary);
  text-decoration: underline;
}

.search-result__excerpt {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.6;
}

.search-empty {
  padding: 26px;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  background: #fff;
  color: #475569;
}

.search-empty p {
  margin: 0 0 14px;
}

.search-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.search-suggestions a {
  padding: 8px 16px;
  border-radius: 999px;
  background: #eef4fb;
  color: #1664b3;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.search-suggestions a:hover {
  background: var(--primary);
  color: #fff;
}

/* ── Header search box ──────────────────────────────────────────── */
.header-search {
  display: flex;
  align-items: center;
}

.header-search__field {
  width: 0;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #f1f5f9;
  color: #0f172a;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  opacity: 0;
  outline: none;
  transition: width 0.25s ease, padding 0.25s ease, opacity 0.2s ease;
}

.header-search.is-open .header-search__field,
.header-search__field:focus {
  width: 210px;
  padding: 9px 14px;
  opacity: 1;
}

/* ── Simple content panel (placeholder pages) ───────────────────── */
.simple-panel {
  padding: 28px 30px 32px;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.simple-panel h2 {
  margin: 0 0 16px;
  color: #091226;
  font-family: "Roboto", sans-serif;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
}

.simple-panel p {
  margin: 0 0 12px;
  color: #475569;
  line-height: 1.7;
}

@media (max-width: 575.98px) {
  .search-form {
    flex-wrap: wrap;
    border-radius: 18px;
  }

  .search-form input[type="search"] {
    flex: 1 1 100%;
    order: 2;
    padding: 6px 0;
  }

  .search-form__submit {
    order: 3;
    width: 100%;
  }

  .header-search.is-open .header-search__field {
    width: 150px;
  }
}

/* ── Document list (NDC disclosure) ─────────────────────────────── */
.doc-list {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.doc-list__item + .doc-list__item {
  margin-top: 10px;
}

.doc-list__link {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #f8fafc;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.doc-list__link:hover {
  border-color: var(--primary);
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}

.doc-list__icon {
  flex: 0 0 auto;
  color: #c0392b;
  font-size: 1.6rem;
}

.doc-list__text {
  flex: 1 1 auto;
  min-width: 0;
}

.doc-list__title {
  display: block;
  color: #0f172a;
  font-family: "Roboto", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

.doc-list__summary {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
}

.doc-list__open {
  flex: 0 0 auto;
  color: #94a3b8;
  font-size: 0.95rem;
}

.doc-list__link:hover .doc-list__open {
  color: var(--primary);
}

/* The NDC menu holds long document titles, so give it room. It sits near the
   right end of the bar, so anchor it to the right or it runs off the page. */
.dropdown-menu--ndc {
  min-width: 320px;
  max-width: min(420px, calc(100vw - 24px));
}

@media (min-width: 1200px) {
  .nav-shell .dropdown-menu--ndc {
    right: 0;
    left: auto;
  }
}

/* Short labels are used here so every row stays on a single line */
.dropdown-menu--ndc .dropdown-item {
  white-space: nowrap;
  line-height: 1.4;
}

@media (max-width: 1199.98px) {
  /* In the collapsed mobile menu there is less room, so allow wrapping */
  .dropdown-menu--ndc .dropdown-item {
    white-space: normal;
  }
}

@media (max-width: 575.98px) {
  .doc-list__link {
    padding: 14px;
  }

  .doc-list__title {
    font-size: 14px;
  }
}
