html { scroll-snap-type: none; }
body.search-page { min-height: 100vh; display: flex; flex-direction: column; }
.search-page > .footer { width: 100%; margin-top: auto; }
.search-main { flex: 1 0 auto; width: min(100% - 32px, 1040px); position: relative; z-index: 2; margin: 0 auto; padding: calc(var(--nav-height) + 42px) 0 48px; }
.search-hero { max-width: 820px; margin: 0 auto 28px; text-align: center; }
.search-hero h1 { margin: 14px 0 8px; color: #fff; font-size: clamp(2rem,5vw,3.4rem); line-height: 1.12; }
.search-hero > p { color: var(--text-muted); }
.site-search-form { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: stretch; gap: 10px; width: min(100%,760px); margin: 25px auto 11px; }
.site-search-form .visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.site-search-form input { width: 100%; min-width: 0; min-height: 52px; padding: 13px 16px; color: #f6f1ff; font: inherit; background: rgba(18,15,28,.92); border: 1px solid rgba(167,139,250,.28); border-radius: 13px; }
.site-search-form input::placeholder { color: #8e849f; }
.site-search-form input:focus { outline: 2px solid rgba(167,139,250,.45); outline-offset: 2px; }
.site-search-form .btn-primary { min-width: 128px; min-height: 52px; justify-content: center; padding: 12px 20px; }
.search-status { min-height: 24px; color: var(--text-muted); font-size: .82rem; }
.search-results { display: grid; gap: 10px; max-width: 900px; margin: 24px auto 0; }
.search-results:empty { display: none; }
.search-result { display: grid; grid-template-columns: 110px minmax(0,1fr) 24px; align-items: center; gap: 5px 14px; padding: 16px 18px; color: #eee9f8; text-decoration: none; background: rgba(16,13,24,.9); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; transition: border-color .18s,transform .18s,background .18s; }
.search-result:hover { transform: translateY(-1px); background: rgba(30,23,43,.96); border-color: rgba(167,139,250,.38); }
.search-result-type { grid-row: 1 / span 2; color: #bba3ff; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.search-result strong { min-width: 0; overflow: hidden; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.search-result > span:nth-of-type(2) { min-width: 0; overflow: hidden; color: var(--text-muted); font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.search-result > i { grid-column: 3; grid-row: 1 / span 2; color: #bba3ff; }
@media(max-width:600px) { .search-main { width: min(100% - 24px,1040px); padding-top: calc(var(--nav-height) + 30px); } .site-search-form { grid-template-columns: minmax(0,1fr); gap: 9px; } .site-search-form .btn-primary { width: 100%; } .search-result { grid-template-columns: 1fr 20px; } .search-result-type { grid-row: auto; } .search-result strong,.search-result>span:nth-of-type(2) { grid-column: 1; } .search-result>i { grid-column: 2; grid-row: 1 / span 3; } }
