.pjp-browser {
  margin: 2rem 0;
}

.pjp-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 0.85rem 1rem;
  padding: 1rem;
  border: 1px solid #cbd8d3;
  border-radius: 0.75rem;
  background: #f5f8f6;
}

.pjp-field {
  display: grid;
  gap: 0.35rem;
}

.pjp-field label {
  font-weight: 700;
}

.pjp-field select,
.pjp-filters button {
  min-height: 2.75rem;
  padding: 0.5rem 0.7rem;
  border: 1px solid #667b73;
  border-radius: 0.35rem;
  font: inherit;
  background: #fff;
}

.pjp-filters button,
.pjp-official,
.pjp-mass-link {
  font-weight: 700;
}

.pjp-filters button {
  cursor: pointer;
}

.pjp-reset,
.pjp-official,
.pjp-mass-link {
  display: inline-block;
  padding: 0.45rem 0;
}

.pjp-mass-note {
  flex-basis: 100%;
  margin: 0;
}

.pjp-count {
  margin: 1rem 0 0.5rem;
  font-weight: 700;
}

.pjp-sites {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 1rem;
}

.pjp-site {
  padding: 1rem;
  border: 1px solid #d4ded9;
  border-radius: 0.75rem;
  background: #fff;
}

.pjp-site[hidden],
.pjp-empty[hidden] {
  display: none;
}

.pjp-site h3 {
  margin-top: 0;
}
.pjp-photo { display:block; margin:-1rem -1rem 1rem; overflow:hidden; border-radius:.75rem .75rem 0 0; }
.pjp-photo img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; height:auto; }
.pjp-read-guide { display:inline-block; font-weight:700; padding:.4rem 0; }
.pjp-preparing { color:#43574f; }

.pjp-site p:last-child {
  margin-bottom: 0;
}

.pjp-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  color: #43574f;
  font-size: 0.95rem;
}

.pjp-meta span + span::before {
  content: "·";
  margin-right: 0.75rem;
}

.pjp-empty {
  padding: 1rem;
  border-left: 4px solid #32695c;
}

.pjp-browser a:focus-visible,
.pjp-browser select:focus-visible,
.pjp-browser button:focus-visible {
  outline: 3px solid #9a5e00;
  outline-offset: 2px;
}
