/* Project pages, notes tags and site search. Loaded only on those pages. */

/* Whole project card clickable through its title link */
.project-card { position: relative; }
.stretched-link::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.stretched-link:focus-visible { outline: none; }
.project-card:has(.stretched-link:focus-visible) { outline: 2px solid var(--accent-blue); outline-offset: 3px; }
.page-grid { padding-bottom: var(--section-pad); }
.related .page-grid { padding-bottom: 0; }

/* Project page */
.project-page__hero { padding: 0; background: none; border: 0; }
.project-page__body { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; padding-bottom: clamp(40px, 6vw, 72px); }
.project-page__body .pm__h { font-size: 1.15rem; }
.project-page__body .pm__aside-card .pm__h { font-size: 0.95rem; }
.link-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: 0.92rem; line-height: 1.7; }
.link-list a { color: var(--text-primary); font-weight: 600; }
.link-list a:hover { color: var(--accent-blue); }
@media (max-width: 900px) {
  .project-page__body { grid-template-columns: minmax(0, 1fr); }
}

/* Notes: tag cloud + RSS/search shortcuts */
.notes-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; }
.notes-tools__links { display: inline-flex; gap: 8px; }
.tag-cloud a.tag { text-decoration: none; }
.tag-cloud a.tag:hover, .tag-cloud a.tag[aria-current='page'], .tag-list a.tag:hover { border-color: var(--accent-blue); color: var(--accent-blue); }
.tag__count { opacity: 0.6; font-size: 0.8em; }

/* Search */
.search-form { display: grid; gap: 10px; margin-top: 24px; }
.search-form__row { display: flex; gap: 10px; }
.search-form__row .input { flex: 1; min-width: 0; }
.search-status { margin: 0 0 18px; color: var(--text-muted); }
.search-results { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.search-result { position: relative; padding: 20px 22px; }
.search-result__type { color: var(--accent-blue); font-size: 0.78rem; font-weight: 700; }
.search-result__title { margin: 6px 0 0; font-size: 1.12rem; font-weight: 800; line-height: 1.6; }
.search-result__title a::after { content: ''; position: absolute; inset: 0; }
.search-result:hover .search-result__title a { color: var(--accent-blue); }
.search-result__excerpt { margin: 8px 0 0; color: var(--text-muted); font-size: 0.94rem; line-height: 1.8; }
.search-suggest { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.search-suggest[hidden] { display: none; }
@media (max-width: 560px) {
  .search-form__row { flex-direction: column; }
}
