/* ========================================
   SEARCH PAGE STYLES
   ======================================== */

/* Search Header */
.search-header {
  background: var(--color-white);
  padding: var(--space-lg) 0;
  border-bottom: var(--border-width) solid var(--color-gray-200);
}

.search-header__inner {
  max-width: var(--content-max);
  margin: 0 auto;
  text-align: center;
}

.search-header__title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: var(--font-weight-medium);
  color: var(--color-charcoal);
  margin-bottom: var(--space-md);
}

.search-header__title span {
  color: var(--color-dusty-rose-strong);
}

/* Search Box (inline form) */
.search-box {
  display: flex;
  gap: var(--space-xs);
  max-width: 600px;
  margin: 0 auto;
}

.search-box__input {
  flex: 1;
  padding: 14px 20px;
  border: var(--border-width-focus) solid var(--color-gray-200);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--color-charcoal);
  background: var(--color-white);
  transition: var(--transition-fast);
}

.search-box__input:focus {
  outline: none;
  border-color: var(--color-dusty-rose);
}

.search-box__input::placeholder {
  color: var(--color-gray-600);
}

.search-box__btn {
  padding: 14px 24px;
  background: var(--color-dusty-rose);
  border: none;
  border-radius: var(--radius-md);
  color: var(--color-charcoal);
  font-family: var(--font-body);
  font-weight: var(--font-weight-medium);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  transition: var(--transition-smooth);
}

.search-box__btn:hover {
  background: var(--color-dusty-rose-light);
}

/* Search Suggestions (popular tags) */
.search-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  justify-content: center;
  margin-top: var(--space-md);
}

.search-suggestion {
  padding: 6px 14px;
  background: var(--color-cream);
  border-radius: var(--radius-pill);
  font-size: 0.85rem;
  color: var(--color-gray-600);
  text-decoration: none;
  transition: var(--transition-fast);
}

.search-suggestion:hover {
  background: var(--color-cream-dark);
  color: var(--color-charcoal);
}

/* Search Results Section */
.search-results {
  padding: var(--space-xl) 0;
}

.search-error {
  padding: var(--space-lg);
  border: 1px solid var(--color-terracotta);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.search-results__grid {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: var(--space-lg);
}

/* The category narrowing on this page speaks the shared facet language; see
   _facets.css. Only the sticky shell is this page's own. */
.search-results .facet-panel {
  position: sticky;
  top: calc(var(--header-height) + var(--space-sm));
  max-height: calc(100vh - var(--header-height) - var(--space-lg));
}

/* Results Area */
.results {}

.results__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-md);
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.results__count {
  font-size: 0.95rem;
  color: var(--color-gray-600);
}

.results__count strong {
  color: var(--color-charcoal);
}

.results__controls {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.results__sort {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.results__sort-label {
  font-size: 0.9rem;
  color: var(--color-gray-600);
}

/* No Results */
.no-results {
  text-align: center;
  padding: var(--space-xl);
  background: var(--color-white);
  border-radius: var(--radius-xl);
}

.no-results__icon {
  color: var(--color-dusty-rose);
  opacity: var(--opacity-icon-soft);
  margin-bottom: var(--space-md);
}

.no-results__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-charcoal);
  margin-bottom: var(--space-xs);
}

.no-results__text {
  color: var(--color-gray-600);
  margin-bottom: var(--space-md);
}

.no-results__suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  justify-content: center;
}

/* Empty Search State (no query) */
.search-empty {
  text-align: center;
  padding: var(--space-xl) var(--space-md);
  max-width: 600px;
  margin: 0 auto;
}

.search-empty__icon {
  color: var(--color-dusty-rose);
  opacity: var(--opacity-icon-muted);
  margin-bottom: var(--space-md);
}

.search-empty__title {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-charcoal);
  margin-bottom: var(--space-xs);
}

.search-empty__text {
  color: var(--color-gray-600);
  margin-bottom: var(--space-lg);
}

.search-empty__categories {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  justify-content: center;
}

/* Category Pill (for empty state) */
.category-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: 10px 18px;
  background: var(--color-white);
  border-radius: var(--radius-pill);
  font-size: 0.9rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-charcoal);
  text-decoration: none;
  transition: var(--transition-fast);
  box-shadow: var(--shadow-light);
}

.category-pill:hover {
  background: var(--color-dusty-rose);
  color: var(--color-charcoal);
}

.category-pill__count {
  font-size: 0.8rem;
  color: var(--color-gray-600);
  background: var(--color-cream);
  padding: 2px 8px;
  border-radius: var(--radius-pill);
}

.category-pill:hover .category-pill__count {
  background: rgba(255, 255, 255, 0.5);
}

/* Pagination (reuse from category page, minor overrides) */
.search-results .pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  margin-top: var(--space-xl);
}

.pagination__btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  font-size: 0.9rem;
  color: var(--color-gray-600);
  text-decoration: none;
  transition: var(--transition-fast);
}

.pagination__btn:hover {
  background: var(--color-white);
  color: var(--color-charcoal);
}

.pagination__btn--active {
  background: var(--color-dusty-rose);
  color: var(--color-charcoal);
  font-weight: var(--font-weight-semibold);
}

.pagination__btn--arrow {
  color: var(--color-charcoal);
}

.pagination__btn--arrow:hover {
  background: var(--color-white);
}

.pagination__ellipsis {
  color: var(--color-gray-300);
  padding: 0 var(--space-xs);
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media (max-width: 1024px) {
  .search-results__grid {
    grid-template-columns: 1fr;
  }

  /* Nothing to keep in place once the results start beside it, and nothing to
     scroll inside a card that has the whole width of the screen below it. */
  .search-results .facet-panel {
    position: static;
    max-height: none;
  }

  .search-results .facet-panel__body {
    overflow: visible;
  }
}

@media (max-width: 768px) {
  .search-header {
    padding: var(--space-md) 0;
  }

  .search-box {
    flex-direction: column;
  }

  .search-box__btn {
    justify-content: center;
  }

  .results__header {
    flex-direction: column;
    align-items: flex-start;
  }
}
