.search-page { padding: 36px 0 48px; }
.search-page__shell { display: grid; gap: 24px; }
.search-page__hero { display: grid; gap: 12px; padding: 28px 32px; border-radius: 28px; background: linear-gradient(180deg, #fff8f7 0%, #ffffff 100%); border: 1px solid rgba(230, 52, 42, 0.12); box-shadow: 0 18px 48px rgba(18, 24, 40, 0.05); }
.search-page__eyebrow { margin: 0; color: #cf352d; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.search-page__title { margin: 0; color: #202231; font-size: 34px; line-height: 1.1; }
.search-page__meta { margin: 0; color: #667085; font-size: 15px; line-height: 1.6; }
.search-tabs { display: inline-flex; align-items: center; gap: 8px; padding: 6px; width: fit-content; border-radius: 20px; background: #f5f7fb; border: 1px solid #e8edf5; }
.search-tabs__button { min-height: 46px; padding: 0 20px; border: none; border-radius: 16px; background: transparent; color: #5c6477; font-size: 14px; font-weight: 700; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.search-tabs__button.is-active { background: rgba(230, 52, 42, 0.08); color: #e6342a; box-shadow: 0 10px 26px rgba(230, 52, 42, 0.08); }
.search-page__panel { display: grid; gap: 18px; }
.search-pagination { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.search-pagination__pages { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.search-pagination__btn, .search-pagination__page, .search-pagination__dots { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; padding: 0 14px; border-radius: 12px; border: 1px solid #e4e8f0; background: #fff; color: #4a5568; font-size: 14px; font-weight: 700; }
.search-pagination__page.is-active { border-color: #e6342a; background: rgba(230, 52, 42, 0.08); color: #e6342a; }
.search-pagination__btn--disabled { color: #a6adbb; background: #f6f8fc; border-color: #edf1f6; }
.search-page__empty { padding: 34px 28px; border-radius: 24px; border: 1px dashed #dce2ec; background: #fbfcff; color: #667085; }
.search-page__empty h3, .search-page__empty p { margin: 0; }
.search-page__empty h3 { margin-bottom: 8px; color: #202231; font-size: 22px; }
.search-page__suggestions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.search-page__suggestions a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 999px; background: #f2f5fa; color: #334155; font-size: 14px; font-weight: 600; }
.search-shops { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.search-shop-card { display: grid; gap: 16px; padding: 22px; border-radius: 24px; border: 1px solid #e7ebf4; background: #fff; box-shadow: 0 18px 42px rgba(18, 24, 40, 0.05); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.search-shop-card:hover { transform: translateY(-1px); border-color: rgba(230, 52, 42, 0.18); box-shadow: 0 24px 48px rgba(230, 52, 42, 0.08); }
.search-shop-card__head { display: flex; align-items: center; gap: 14px; min-width: 0; }
.search-shop-card__avatar { width: 64px; height: 64px; border-radius: 18px; object-fit: cover; flex-shrink: 0; background: #f3f4f6; border: 1px solid #edf1f6; }
.search-shop-card__title { margin: 0 0 4px; color: #202231; font-size: 20px; line-height: 1.2; }
.search-shop-card__subtitle { margin: 0; color: #7c8598; font-size: 13px; line-height: 1.45; }
.search-shop-card__text { margin: 0; color: #5b6477; font-size: 14px; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.search-shop-card__stats { display: flex; flex-wrap: wrap; gap: 10px; }
.search-shop-card__chip { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border-radius: 999px; background: #f5f7fb; color: #445065; font-size: 13px; font-weight: 700; }
.search-shop-card__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; width: fit-content; padding: 0 18px; border-radius: 16px; background: #202231; color: #fff; font-size: 14px; font-weight: 700; }
@media (max-width: 1180px) { .search-shops { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 768px) {
  .search-page { padding: 24px 0 28px; }
  .search-page__hero { padding: 20px 16px; border-radius: 24px; }
  .search-page__title { font-size: 28px; }
  .search-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; padding: 4px; gap: 4px; border-radius: 18px; }
  .search-tabs__button { width: 100%; min-width: 0; padding: 0 10px; }
  .search-shops { grid-template-columns: 1fr; }
  .search-shop-card { padding: 18px; }
  .search-shop-card__cta { width: 100%; }
}
