/**
 * Standalone stylesheet for template-parts/site-search.php - same
 * self-contained approach as contact-widget.css/login-modal.css: relies
 * only on the shared --ink/--champagne/--pearl/--text/--muted/--line/
 * --surface/--glass/--soft/--ease token names blog.css AND homepage.css
 * both already define identically.
 */
.icon{width:1em;height:1em;fill:currentColor;display:inline-block;vertical-align:-.125em;flex:none}

.site-search-toggle .icon{font-size:19px}

.site-search-backdrop{position:fixed;inset:0;z-index:960;background:rgba(6,14,22,.5);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.site-search-backdrop.open{opacity:1;visibility:visible}

.site-search-modal{position:fixed;z-index:970;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:min(14vh,120px) 16px 16px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.site-search-modal.open{opacity:1;visibility:visible;pointer-events:auto}
.site-search-box{width:min(640px,100%);max-height:min(70vh,640px);display:flex;flex-direction:column;border-radius:26px;background:var(--glass);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border:1px solid var(--line);box-shadow:0 30px 70px rgba(10,23,37,.28);overflow:hidden;transform:translateY(-14px);transition:transform .3s var(--ease)}
.site-search-modal.open .site-search-box{transform:translateY(0)}

.site-search-field{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}
.site-search-field>i{color:var(--muted);font-size:20px;flex:0 0 auto}
.site-search-field .icon{font-size:20px}
#site-search-input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;color:var(--text)}
#site-search-input:focus{outline:0}
.site-search-close{flex:0 0 auto}

.site-search-results{overflow-y:auto;padding:10px 12px 18px}
.site-search-hint{margin:26px 8px;color:var(--muted);font-size:13px;text-align:center}
.search-loading{display:flex;align-items:center;justify-content:center;gap:10px;margin:30px 0;color:var(--muted);font-size:13px}
.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--champagne);animation:paSearchSpin .7s linear infinite}
@keyframes paSearchSpin{to{transform:rotate(360deg)}}

.search-group{padding:14px 8px 6px}
.search-group+.search-group{border-top:1px solid var(--line)}
.search-group-title{display:block;margin-bottom:8px;padding:0 4px;font-size:11px;font-weight:850;color:var(--mineral)}
.search-group-items{display:flex;flex-direction:column;gap:2px}
.search-result{display:flex;align-items:center;gap:12px;padding:9px 8px;border-radius:14px;text-decoration:none;color:var(--text);transition:background .15s}
.search-result:hover{background:var(--mist)}
.search-result-thumb{flex:0 0 44px;width:44px;height:44px;border-radius:10px;overflow:hidden;background:var(--ink)}
.search-result-thumb img{width:100%;height:100%;object-fit:cover}
.search-result-body{min-width:0}
.search-result-body strong{display:block;font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-result-body small{color:var(--muted);font-size:11px}
.search-group-more{display:block;margin-top:6px;padding:9px 8px;font-size:12px;font-weight:800;color:var(--champagne);text-decoration:none}
.search-group-more:hover{text-decoration:underline}

body.search-lock{overflow:hidden}

@media(max-width:640px){
  .site-search-modal{padding-top:8vh}
  .site-search-box{max-height:82vh}
}
