/* Scoped to the new search surface; established catalog and detail layouts stay intact. */
.site-search-content { max-width:1460px; margin-inline:auto; }
.site-search-heading { padding:4px 0 30px; }
.site-search-heading h1 { margin:0; }
.site-search-heading>p { max-width:900px; }
.site-search-page .site-search-heading .site-search-coverage { margin-top:16px; font-size:15px; color:#42651f; }
.site-search-form { display:grid; grid-template-columns:minmax(220px,1fr) 165px 180px auto; align-items:end; gap:16px; padding:26px 0; border-block:1px solid #dedee3; }
.site-search-form label { min-width:0; display:flex; flex-direction:column; gap:9px; }
.site-search-form label>span { font-size:14px; color:#6e6e73; }
.site-search-page button { font:500 16px/1.4 var(--font-system); cursor:pointer; }
.site-search-page button:focus-visible,.site-search-page a:focus-visible { outline:2px solid #42651f; outline-offset:3px; }
.site-search-page .site-search-submit { min-height:48px; padding:12px 28px; border:1px solid #8fc547; border-radius:9px; background:#8fc547; color:#101011; font-weight:600; }
.site-search-result-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:32px; }
.site-search-page .site-search-result-bar h2 { font-size:26px; }
.site-search-clear,.site-search-retry,.site-search-pagination button { min-height:44px; border:1px solid #dedee3; border-radius:8px; background:#fff; color:#42651f; padding:10px 16px; }
.site-search-clear:hover,.site-search-retry:hover,.site-search-pagination button:not(:disabled):hover { background:#edf4e5; }
.site-search-status { font-size:16px; line-height:1.6; margin:14px 0 22px; overflow-wrap:anywhere; color:#65656b; }
.site-search-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.site-search-result { min-width:0; display:grid; grid-template-columns:132px minmax(0,1fr); gap:24px; padding:24px; background:#fff; border:1px solid #dedee3; border-radius:16px; }
.site-search-information { grid-template-columns:minmax(0,1fr); }
.site-search-result-content { min-width:0; }
.site-search-badge { display:block; font:400 15px/1.5 "ZF Navigation",Impact,"Arial Narrow",sans-serif; color:#737378; letter-spacing:.025em; }
.site-search-page .site-search-result h3 { margin:7px 0 14px; font-size:26px; line-height:1.25; overflow-wrap:anywhere; }
.site-search-result h3 a { color:#1d1d1f; text-decoration:none; }
.site-search-result h3 a:hover { color:#42651f; }
.site-search-metadata { margin:0; font-size:16px; line-height:1.5; }
.site-search-metadata>div { display:grid; grid-template-columns:70px minmax(0,1fr); gap:12px; padding:3px 0; }
.site-search-metadata dt { color:#737378; }
.site-search-metadata dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.site-search-match { color:#737378; font-size:15px; line-height:1.6; overflow-wrap:anywhere; margin:16px 0 12px; }
.site-search-match strong { color:#414146; font-weight:500; }
.site-search-number-link { color:inherit; text-decoration:none; }
.site-search-number-link:hover { text-decoration:underline; }
.site-search-detail-link { display:inline-flex; align-items:center; min-height:44px; font-size:16px; font-weight:500; color:#42651f; }
.site-search-no-image { min-width:0; min-height:132px; align-self:start; display:grid; place-items:center; text-align:center; padding:12px; border-radius:10px; background:#fafafa; color:#818187; font-size:13px; line-height:1.5; }
.site-search-page .site-search-image { padding:0; border:0; background:#fff; border-radius:10px; align-self:start; width:132px; height:132px; cursor:zoom-in; }
.site-search-image img { display:block; width:100%; height:100%; object-fit:contain; border-radius:10px; }
.site-search-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px; margin:28px 0; }
.site-search-pagination span { color:#737378; font-size:15px; }
.site-search-pagination button:disabled { cursor:default; color:#aaa; }
.site-search-help { margin-top:36px; border-top:1px solid #dedee3; padding-top:28px; }
.site-search-page .site-search-help h2 { font-size:22px; }
.site-search-help p { color:#737378; font-size:15px; line-height:1.7; }
.site-search-help>div { display:flex; flex-wrap:wrap; gap:12px 26px; }
.site-search-help a { display:inline-flex; align-items:center; min-height:44px; color:#42651f; font-size:16px; }
.site-search-picture-dialog { width:min(900px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:24px; border:1px solid #dedee3; border-radius:16px; background:#fff; color:#1d1d1f; }
.site-search-picture-dialog::backdrop { background:#000b; }
.site-search-picture-head { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.site-search-page .site-search-picture-head h2 { font-size:24px; overflow-wrap:anywhere; }
.site-search-picture-head button { flex:none; min-height:44px; padding:8px 12px; border:1px solid #dedee3; border-radius:8px; background:#fff; color:#1d1d1f; }
.site-search-picture-media { display:grid; place-items:center; margin-top:20px; min-height:0; }
.site-search-picture-media img { display:block; width:100%; height:auto; max-height:calc(100dvh - 160px); object-fit:contain; }
.site-search-page [hidden] { display:none!important; }
@media(max-width:1100px) { .site-search-form { grid-template-columns:minmax(180px,1fr) 145px 160px; } .site-search-submit { grid-column:1/-1; justify-self:end; } .site-search-results { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) {
 .site-search-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }
 .site-search-query { grid-column:1/-1; }
 .site-search-submit { width:100%; }
 .site-search-result { grid-template-columns:90px minmax(0,1fr); gap:16px; padding:18px; }
 .site-search-information { grid-template-columns:minmax(0,1fr); }
 .site-search-page .site-search-image { width:90px; height:90px; }
 .site-search-no-image { min-height:90px; padding:8px; font-size:12px; }
 .site-search-page .site-search-result h3 { font-size:24px; }
 .site-search-metadata { font-size:15px; }
 .site-search-metadata>div { grid-template-columns:1fr; gap:0; padding-block:4px; }
 .site-search-picture-dialog { padding:16px; }
 .site-search-picture-head { flex-wrap:wrap; gap:12px; }
 .site-search-picture-head button { margin-left:auto; }
}
