/* search.css — サイト内検索ページ専用スタイル（外部CSS・CSP style-src 'self' 適合） */
.search-wrap { max-width: 760px; margin: 0 auto; padding: 0 20px 64px; }
.sr-only-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
/* tools.html などに置く検索への導線ボタン */
.search-entry { display: flex; justify-content: center; margin: 4px 0 8px; }
.search-entry a {
  display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
  font-size: 15px; font-weight: 600; color: #1e40af; background: #eff6ff;
  border: 1px solid #bfdbfe; border-radius: 999px; padding: 10px 20px;
}
.search-entry a:hover { background: #dbeafe; }
.search-box { position: relative; margin: 8px 0 20px; }
.search-input {
  width: 100%; box-sizing: border-box; font-size: 17px; line-height: 1.5;
  padding: 16px 18px; border: 2px solid #d1d5db; border-radius: 12px;
  background: #fff; color: #111827; -webkit-appearance: none; appearance: none;
}
.search-input:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.15); }
.search-status { color: #6b7280; font-size: 14px; margin: 4px 2px 16px; }
.search-results { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sr-item { margin: 0; }
.sr-link {
  display: block; text-decoration: none; color: inherit;
  border: 1px solid #e5e7eb; border-radius: 12px; padding: 16px 18px;
  background: #fff; transition: border-color .15s, box-shadow .15s;
}
.sr-link:hover { border-color: #93c5fd; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.sr-badge {
  display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .02em;
  padding: 3px 9px; border-radius: 999px; margin-bottom: 8px;
}
.sr-badge-tool { background: #fef3c7; color: #92400e; }
.sr-badge-guide { background: #dbeafe; color: #1e40af; }
.sr-title { display: block; font-size: 17px; font-weight: 700; color: #111827; margin-bottom: 4px; }
.sr-desc { display: block; font-size: 14px; color: #4b5563; line-height: 1.6; }
