.pn-site-search { max-width: 1180px; margin: 0 auto; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #ead5db; }
.pn-site-search label { color: #684653; font-size: 14px; }
.pn-site-search > div, .pn-search-fields { display: flex; gap: 8px; min-width: 0; }
.pn-site-search input, #pn-search-form input, #pn-search-form select { box-sizing: border-box; min-height: 46px; padding: 10px 14px; border: 1px solid #b998a8; border-radius: 12px; background: #fff; color: #49313c; font: inherit; min-width: 0; }
.pn-site-search input { width: min(32vw, 360px); }
.pn-site-search button, .pn-search-page button { min-height: 46px; border: 1px solid #78344f; border-radius: 12px; padding: 10px 20px; color: #fff; background: #78344f; font: inherit; cursor: pointer; }
.pn-site-search input:focus-visible, .pn-site-search button:focus-visible, .pn-search-page :focus-visible { outline: 3px solid #78344f; outline-offset: 3px; }
.pn-search-page { padding-top: 48px; padding-bottom: 64px; }
.pn-search-page h1 { font-size: clamp(30px, 5vw, 48px); line-height: 1.18; }
#pn-search-form { max-width: 760px; margin-top: 24px; }
#pn-search-form label { display: block; margin: 16px 0 8px; font-weight: 650; }
#pn-search-query { flex: 1; width: 100%; }
#pn-search-status { margin: 24px 0; }
.pn-search-results { list-style: none; padding: 0; margin: 0 0 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pn-search-results li { padding: 24px; border: 1px solid #ead5db; border-radius: 18px; background: #fffcfa; overflow-wrap: anywhere; }
.pn-search-results h2 { font-size: 22px; line-height: 1.3; margin: 10px 0; }
.pn-search-results a { color: #78344f; text-decoration: underline; text-underline-offset: 4px; }
.pn-search-results p { margin: 0; line-height: 1.65; }
#pn-search-more[hidden] { display: none; }
@media (max-width: 640px) {
  .pn-site-search { padding: 12px 18px; align-items: stretch; flex-direction: column; gap: 8px; }
  .pn-site-search input { flex: 1; width: 100%; }
  .pn-site-search button, .pn-search-page button { padding-inline: 16px; }
  .pn-search-page { padding-top: 28px; }
  .pn-search-results { grid-template-columns: minmax(0, 1fr); }
  .pn-search-results li { padding: 20px; }
}
