.search-page-container { max-width: 600px; }
.search-page-shell { min-height: calc(100vh - 20px); background: #ffffff; }
.search-page-top { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 0 10px; }
.search-page-back { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; color: #111827; text-decoration: none; flex: 0 0 auto; }
.search-page-back svg { width: 26px; height: 26px; stroke: currentColor; stroke-width: 2.2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.search-page-form { flex: 1 1 auto; }
.search-page-form input { height: 42px; }
.search-page-block { padding: 14px 0 2px; }
.search-page-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.search-page-head h2 { margin: 0; font-size: 20px; font-weight: 800; letter-spacing: -0.2px; }
.search-page-clear { border: 0; background: transparent; color: #9ca3af; font-size: 14px; padding: 0; cursor: pointer; }
.search-page-empty { margin: 8px 0 0; color: #9ca3af; font-size: 14px; }
.recent-search-list { list-style: none; padding: 0; margin: 0; border-bottom: 1px solid #f3f4f6; }
.recent-search-list li { display: flex; align-items: center; gap: 8px; min-height: 52px; border-top: 1px solid #f8fafc; }
.recent-search-link { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 0; background: transparent; padding: 0; text-align: left; cursor: pointer; }
.recent-search-text { color: #111827; font-size: 16px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.recent-search-date { color: #9ca3af; font-size: 14px; flex: 0 0 auto; }
.recent-search-remove { width: 24px; height: 24px; border: 0; background: transparent; color: #c0c6cf; font-size: 18px; line-height: 1; padding: 0; cursor: pointer; flex: 0 0 auto; }
.search-page-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 4px; background: #f3f4f6; border-radius: 12px; margin-bottom: 10px; }
.search-page-tab { height: 38px; border: 0; border-radius: 10px; background: transparent; color: #9ca3af; font-size: 16px; font-weight: 700; cursor: pointer; }
.search-page-tab.is-active { background: #ffffff; color: #111827; box-shadow: 0 1px 2px rgba(17, 24, 39, 0.06); }
.search-page-chip-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.search-page-chip { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 32px; padding: 0 12px; border-radius: 999px; background: #f3f4f6; color: #9ca3af; font-size: 15px; font-weight: 700; }
.search-page-chip.is-active { background: #1f2937; color: #ffffff; }
.search-popular-list { list-style: none; padding: 0; margin: 0; }
.search-popular-list li { border-top: 1px solid #f3f4f6; }
.search-popular-link { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; grid-template-rows: minmax(0, auto) minmax(0, auto); grid-template-areas: 'rank title price' '. meta .'; column-gap: 10px; row-gap: 4px; align-items: center; align-content: center; min-height: 66px; color: inherit; text-decoration: none; }
.search-popular-rank { grid-area: rank; display: inline-flex; align-items: center; justify-content: center; align-self: start; color: #111827; font-size: 16px; font-weight: 800; line-height: 1.25; }
.search-popular-main { display: contents; }
.search-popular-title { grid-area: title; align-self: end; color: #111827; font-size: 16px; font-weight: 800; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.search-popular-meta { grid-area: meta; align-self: start; color: #6b7280; font-size: 14px; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.search-popular-price { grid-area: price; align-self: center; color: #111827; font-size: 16px; font-weight: 800; white-space: nowrap; }
.search-result-group { padding: 12px 0 2px !important; cursor: default !important; }
.search-result-group:hover { background: transparent !important; }
