/* mdgrep search widget v0.1.0 – MIT License
 *
 * Theming: set these custom properties on :root or any ancestor
 *   --mdgrep-text  --mdgrep-muted  --mdgrep-surface  --mdgrep-border
 *   --mdgrep-accent  --mdgrep-mark-bg  --mdgrep-mark-text  --mdgrep-error  --mdgrep-radius
 */

.mdgrep { color: var(--mdgrep-text, #1a1d2e); }
.mdgrep [hidden] { display: none !important; }

.mdgrep-form { display: flex; flex-wrap: wrap; gap: 0.5rem; }

.mdgrep-input,
.mdgrep-filter {
  font: inherit;
  color: inherit;
  background: var(--mdgrep-surface, #fff);
  border: 1px solid var(--mdgrep-border, #d5d8e3);
  border-radius: var(--mdgrep-radius, 0.5rem);
  padding: 0.5rem 0.75rem;
}
.mdgrep-input { flex: 1 1 16rem; min-width: 0; }
.mdgrep-filter { flex: 0 0 auto; cursor: pointer; }
.mdgrep-input:focus,
.mdgrep-filter:focus { outline: 2px solid var(--mdgrep-accent, #4a7cff); outline-offset: 1px; }

.mdgrep-help { margin: 0.75rem 0 0; font-size: 0.875em; color: var(--mdgrep-muted, #6b7394); }
.mdgrep-help summary { cursor: pointer; width: max-content; }
.mdgrep-help table { border-collapse: collapse; margin: 0.5rem 0; background: none; border: none; }
.mdgrep-help td { border: none; padding: 0.15rem 1rem 0.15rem 0; vertical-align: top; }
.mdgrep-help code { white-space: nowrap; }

.mdgrep-status { margin: 0.75rem 0; min-height: 1.4em; font-size: 0.875em; color: var(--mdgrep-muted, #6b7394); }
.mdgrep-status-error { color: var(--mdgrep-error, #c0392b); }
.mdgrep-status-warn { color: var(--mdgrep-error, #c0392b); }
.mdgrep-busy .mdgrep-results { opacity: 0.6; }

.mdgrep-results { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; }

.mdgrep-card {
  margin: 0;
  padding: 0.75rem 1rem;
  background: var(--mdgrep-surface, #fff);
  border: 1px solid var(--mdgrep-border, #d5d8e3);
  border-radius: var(--mdgrep-radius, 0.5rem);
  overflow-wrap: anywhere;
}
.mdgrep-card:hover { border-color: var(--mdgrep-accent, #4a7cff); }

.mdgrep-card-head { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 0.35rem;
  font-size: 0.8em; color: var(--mdgrep-muted, #6b7394); }
.mdgrep-badge { padding: 0 0.45rem; border: 1px solid var(--mdgrep-border, #d5d8e3);
  border-radius: 999px; text-transform: uppercase; letter-spacing: 0.03em; }
.mdgrep-date { font-style: italic; }

.mdgrep-title { display: block; font-weight: 700; margin-bottom: 0.3rem; text-decoration: none; }
.mdgrep-snippet { display: block; white-space: pre-line; color: inherit; text-decoration: none; font-size: 0.925em; }
a.mdgrep-snippet:visited { color: inherit; }
.mdgrep-card a:hover { text-decoration: none; }

.mdgrep mark { background: var(--mdgrep-mark-bg, #ffe58a); color: var(--mdgrep-mark-text, inherit);
  border-radius: 2px; padding: 0 1px; }

.mdgrep-also { margin-top: 0.5rem; font-size: 0.8em; color: var(--mdgrep-muted, #6b7394); }
.mdgrep-also summary { cursor: pointer; width: max-content; }
.mdgrep-also ul { margin: 0.35rem 0 0; padding-left: 1.25rem; }

.mdgrep-more {
  display: block;
  margin: 1rem auto 0;
  font: inherit;
  color: inherit;
  background: var(--mdgrep-surface, #fff);
  border: 1px solid var(--mdgrep-border, #d5d8e3);
  border-radius: var(--mdgrep-radius, 0.5rem);
  padding: 0.4rem 1.25rem;
  cursor: pointer;
}
.mdgrep-more:hover { border-color: var(--mdgrep-accent, #4a7cff); }
