/* ═══════════════════════════════════════════════════════
   Notation & Avis
════════════════════════════════════════════════════════ */

/* ── Étoiles (lecture seule) ─────────────────────────── */
.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; }

/* ── Résumé note en en-tête ──────────────────────────── */
.recette-rating-summary {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1.1rem;
  flex-wrap: wrap;
}
.rating-avg { font-weight: 700; color: #1A1A1A; }
.rating-count { font-size: .85rem; color: #999; }
.rating-jump {
  font-size: .82rem;
  color: var(--vert-logo);
  text-decoration: underline;
  text-underline-offset: 2px;
  margin-left: .35rem;
}

/* ── Section Avis ────────────────────────────────────── */
.recette-avis { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--gris-border); }

/* Formulaire de notation */
.rating-form {
  background: var(--blanc);
  border: 1px solid var(--gris-border);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  margin-bottom: 2rem;
}
.rating-form__label { font-weight: 600; margin-bottom: .5rem; font-size: .95rem; }

.star-input { display: inline-flex; gap: .15rem; margin-bottom: 1rem; }
.star-input__btn {
  font-size: 1.9rem;
  line-height: 1;
  color: #E0D9D0;
  transition: color .12s ease, transform .12s ease;
  padding: 0 .05rem;
}
.star-input__btn:hover { transform: scale(1.15); }
.star-input__btn.is-selected { color: #F5B301; }

.rating-form__avis {
  width: 100%;
  border: 1.5px solid var(--gris-border);
  border-radius: var(--radius-md);
  padding: .75rem 1rem;
  font-size: .9rem;
  resize: vertical;
  outline: none;
  margin-bottom: 1rem;
  transition: border-color var(--transition);
}
.rating-form__avis:focus { border-color: var(--vert-logo); }

.rating-form__feedback {
  padding: .6rem .9rem;
  border-radius: var(--radius-sm, 8px);
  font-size: .85rem;
  margin-bottom: 1rem;
}
.rating-form__feedback--success { background: #DDEBD4; color: #2f5a36; }
.rating-form__feedback--error   { background: #FBE3DC; color: #a23a22; }

/* Invite connexion */
.rating-login-prompt {
  background: var(--jaune-fond, #FEF9E7);
  border: 1px solid var(--jaune-doux, #F5E09A);
  border-radius: var(--radius-lg);
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.rating-login-prompt p { margin: 0; font-size: .92rem; }

/* Liste des avis */
.reviews-list { display: flex; flex-direction: column; gap: 1.25rem; }
.review-item {
  background: var(--blanc);
  border: 1px solid var(--gris-border);
  border-radius: var(--radius-md);
  padding: 1.1rem 1.25rem;
}
.review-item__head {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .6rem;
}
.review-item__head img { width: 40px; height: 40px; border-radius: 50%; }
.review-item__author { display: block; font-size: .9rem; color: #1A1A1A; }
.review-item__date { margin-left: auto; font-size: .78rem; color: #aaa; }
.review-item__text { font-size: .9rem; color: #555; line-height: 1.55; margin: 0; }
.reviews-empty { color: #999; font-size: .9rem; padding: 1rem 0; }

/* Étoiles dans les cartes recette */
.card-recette__rating { display: flex; align-items: center; gap: .3rem; margin-top: .35rem; }
.card-recette__rating .rating-count { font-size: .72rem; }
