/* Search page (search.htm): Pagefind UI theming + minor UX polish */

#pagefind-search .pagefind-ui{
  --pagefind-ui-primary: var(--kkjn-accent);
  --pagefind-ui-text: var(--kkjn-fg);
  --pagefind-ui-background: var(--kkjn-surface);
  --pagefind-ui-border: var(--kkjn-border);
  --pagefind-ui-tag: var(--kkjn-surface-2);
  --pagefind-ui-border-width: 1px;
  --pagefind-ui-border-radius: var(--kkjn-r-2);
  --pagefind-ui-image-border-radius: 0.6em;
  --pagefind-ui-scale: 0.9;
}

/* Keep the search box reachable while scrolling long results. */
#pagefind-search .pagefind-ui__form{
  position:sticky;
  top:var(--kkjn-s-3);
  z-index:60;
  background:var(--kkjn-bg);
  padding:var(--kkjn-s-2) 0;
}

#pagefind-search .pagefind-ui__search-input{
  box-shadow:0 1px 2px rgba(0,0,0,0.06);
}

/* Filter panel polish */
#pagefind-search .pagefind-ui__filter-panel{
  border:1px solid var(--kkjn-border);
  border-radius:var(--kkjn-r-2);
  background:var(--kkjn-surface);
  padding:var(--kkjn-s-4);
}

#pagefind-search .pagefind-ui__filter-panel-label{
  display:block;
  font-weight:800;
  padding:0 var(--kkjn-s-2);
  margin:0 0 var(--kkjn-s-3);
}

#pagefind-search details.pagefind-ui__filter-block{
  border:1px solid var(--kkjn-border);
  border-radius:var(--kkjn-r-2);
  background:var(--kkjn-surface-2);
  padding:0;
  overflow:hidden;
  margin:var(--kkjn-s-3) 0 0;
}

#pagefind-search summary.pagefind-ui__filter-name{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--kkjn-s-2);
  padding:var(--kkjn-s-2) var(--kkjn-s-3);
  font-weight:800;
  cursor:pointer;
}
#pagefind-search summary.pagefind-ui__filter-name::-webkit-details-marker{
  display:none;
}
#pagefind-search details.pagefind-ui__filter-block > summary.pagefind-ui__filter-name::after{
  content:"▾";
  color:var(--kkjn-muted);
  font-size:0.95em;
}
#pagefind-search details.pagefind-ui__filter-block[open] > summary.pagefind-ui__filter-name::after{
  content:"▴";
}

#pagefind-search fieldset.pagefind-ui__filter-group{
  padding:var(--kkjn-s-2) var(--kkjn-s-3) var(--kkjn-s-3);
}

#pagefind-search .pagefind-ui__filter-value{
  padding:0.3em 0.35em;
  border-radius:0.75em;
}
#pagefind-search .pagefind-ui__filter-value--checked{
  background:var(--kkjn-surface);
  box-shadow:0 1px 1px rgba(0,0,0,0.03);
}

/* Avoid redundant titles like "学年" under "学年".
   The visible label is already provided by the <summary>. Keep the inner legend for a11y only. */
#pagefind-search legend.pagefind-ui__filter-group-label{
  position:absolute !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}

/* Card-like results to match the rest of the UI. */
#pagefind-search .pagefind-ui__results{
  margin:0;
}
#pagefind-search .pagefind-ui__result{
  border:1px solid var(--kkjn-border);
  border-radius:var(--kkjn-r-2);
  padding:var(--kkjn-s-4);
  margin:var(--kkjn-s-3) 0;
  background:var(--kkjn-surface);
  box-shadow:0 1px 2px rgba(0,0,0,0.04);
}
#pagefind-search .pagefind-ui__result-link{
  text-decoration:none;
}
#pagefind-search .pagefind-ui__result-link:hover{
  text-decoration:underline;
}
#pagefind-search .pagefind-ui__result-excerpt{
  color:var(--kkjn-muted);
}

#pagefind-search mark{
  background:var(--kkjn-accent-weak);
  color:var(--kkjn-fg);
  border-radius:0.25em;
  padding:0 0.2em;
}

/* "If you can't find it" box */
.kkjn-search-help{
  margin:var(--kkjn-s-4) 0;
  padding:var(--kkjn-s-4);
  border:1px solid var(--kkjn-border);
  border-radius:var(--kkjn-r-2);
  background:var(--kkjn-surface-2);
}
.kkjn-search-help h2{
  margin-top:0;
}

.kkjn-search-help__actions{
  margin-top:var(--kkjn-s-3);
}
.kkjn-search-help__button{
  padding:0.55em 0.9em;
  border-radius:0.85em;
  border:1px solid var(--kkjn-accent);
  background:var(--kkjn-accent);
  color:var(--kkjn-on-accent);
  font-weight:800;
  cursor:pointer;
}
.kkjn-search-help__button:hover{
  background:var(--kkjn-accent-hover);
  border-color:var(--kkjn-accent-hover);
}
