/* ── Étoiles de note dans les cartes (global) ────────── */
.stars { display: inline-flex; gap: 1px; line-height: 1; }
.stars .star { color: #E0D9D0; }
.stars .star--full { color: #F5B301; }
.stars .star--half { position: relative; color: #E0D9D0; }
.stars .star--half::before {
  content: '★'; position: absolute; left: 0; top: 0;
  width: 50%; overflow: hidden; color: #F5B301;
}
.stars--sm { font-size: .85rem; }
.stars--md { font-size: 1.15rem; }
.stars--lg { font-size: 1.5rem; }

.card-recette__rating {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin-bottom: .5rem;
}
.card-recette__rating .rating-count { font-size: .74rem; color: #aaa; }
.rating-count--new { font-style: italic; color: #bbb; }

/* ── Card Fruit/Légume ───────────────────────────────── */
.card-fruit {
  background: var(--blanc);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition), transform var(--transition);
}
.card-fruit:hover { box-shadow: var(--shadow-hover); transform: translateY(-3px); }
.card-fruit__link { display: block; color: inherit; }
.card-fruit__image {
  position: relative;
  aspect-ratio: 3/2;
  overflow: hidden;
  background: var(--gris-leger);
}
.card-fruit__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.card-fruit:hover .card-fruit__image img { transform: scale(1.05); }
.card-fruit__no-image { width: 100%; height: 100%; min-height: 160px; }
.card-fruit__body { padding: 1rem; }
.card-fruit__titre { font-size: 1.05rem; font-weight: 700; font-family: var(--font-titre); margin-bottom: .25rem; }
.card-fruit__sous-titre { font-size: .82rem; color: #888; line-height: 1.45; }

/* ── Recherche ───────────────────────────────────────── */
.search-page { padding-bottom: 4rem; }
.search-page__inner { padding-top: 2rem; }
.search-header { margin-bottom: 2.5rem; }
.search-titre { margin-bottom: 1.25rem; }
.search-titre em { color: var(--vert-principal); font-style: normal; }

/* Formulaire de recherche principal */
.search-main-form { position: relative; max-width: 700px; }
.search-main-form__inner {
  display: flex;
  gap: .5rem;
  padding: .5rem;
  background: var(--blanc);
  border-radius: var(--radius-lg);
  border: 2px solid var(--gris-border);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition), box-shadow var(--transition);
}
.search-main-form__inner:focus-within {
  border-color: var(--vert-principal);
  box-shadow: 0 0 0 3px rgba(74,124,89,.12);
}
.search-main-form input[type="search"] {
  flex: 1;
  border: none;
  outline: none;
  font-size: 1rem;
  padding: .35rem .5rem;
  background: transparent;
  color: var(--gris-texte);
}

/* Filtres rapides recherche */
.search-quick-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-top: 1.25rem;
}
.filter-label { font-size: .82rem; font-weight: 600; color: #888; }
.quick-filter-btn {
  padding: .35rem .85rem;
  border-radius: 50px;
  border: 1.5px solid var(--gris-border);
  font-size: .83rem;
  font-weight: 600;
  color: var(--gris-texte);
  background: var(--blanc);
  transition: all var(--transition);
}
.quick-filter-btn:hover, .quick-filter-btn.is-active {
  background: var(--vert-principal);
  color: var(--blanc);
  border-color: var(--vert-principal);
}
.quick-filter-select {
  padding: .35rem .7rem;
  border-radius: var(--radius-sm);
  border: 1.5px solid var(--gris-border);
  font-size: .83rem;
  color: var(--gris-texte);
  outline: none;
  cursor: pointer;
  background: var(--blanc);
}
.quick-filter-select:focus { border-color: var(--vert-principal); }
.filter-duree { display: flex; align-items: center; gap: .4rem; font-size: .83rem; color: var(--gris-texte); }
#filter-duree-value { font-weight: 600; color: var(--vert-principal); min-width: 50px; }

/* Résultats */
.search-results-count { font-size: .9rem; color: #666; margin-bottom: 1.25rem; min-height: 1.2em; }
.search-loader { text-align: center; padding: 2rem; }
