.recipe-layout { max-width: 1100px; margin: 0 auto; padding: 10px 16px; }

.recipe-hero2__media { position: relative; border-radius: 50px; overflow: hidden; }
.recipe-hero2__media img { width: 100%; height: auto; display: block; }

.recipe-hero2__meta {
  position: absolute; left: 16px; right: 16px; top: 16px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 100px;
  padding: 10px 12px;
}

.recipe-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.recipe-meta__item { display: flex; align-items: center; gap: 8px; }
.recipe-meta__sep { width: 1px; height: 18px; background: rgba(0,0,0,.15); }
.recipe-meta__icon { line-height: 1; }
.recipe-meta__label { font-weight: 600; font-size: 14px; }

.recipe-hero2__content { padding: 18px 0 0; }
.recipe-hero2__title { font-size: 46px; line-height: 1.05; margin: 12px 0 8px; }
.recipe-hero2__intro { font-size: 16px; line-height: 1.6; max-width: 900px; }

.recipe-hero2__tags { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0 14px; }
.recipe-tag { font-size: 12px; padding: 6px 10px; border: 1px solid rgba(0,0,0,.12); border-radius: 999px; }

.recipe-hero2__actions { display: flex; gap: 12px; align-items: center; margin-top: 14px; flex-wrap: wrap; }
.recipe-fav { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.recipe-fav__on { display: none; }
.recipe-fav.active .recipe-fav__off { display: none; }
.recipe-fav.active .recipe-fav__on { display: inline-flex; }

.recipe-card { margin-top: 22px; border: 1px solid rgba(0,0,0,.10); border-radius: 8px; overflow: hidden; }
.recipe-card__cols { display: grid; grid-template-columns: 0.5fr 1fr; }
.recipe-card__ingredients { background: #f2c86a; padding: 18px 18px 22px; color: white;}
.recipe-card__directions { background: #fff; padding: 18px 18px 22px; }

.recipe-card__ingredients .recipe-card__h, .recipe-card__ingredients .recipe-card__h2, .recipe-card__ingredients p { color: white; }
.recipe-card__h { font-size: 18px; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 14px; }
.recipe-card__h2 { margin: 18px 0 10px; font-weight: 700; font-size: 14px; text-transform: uppercase; }

.recipe-list { margin: 0; padding-left: 18px; }
.recipe-list__item { margin: 8px 0; }
.recipe-list--small .recipe-list__item { margin: 6px 0; font-size: 14px; }

.recipe-steps { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; }
.recipe-steps__item { display: grid; grid-template-columns: 38px 1fr; gap: 12px; }
.recipe-steps__num {
  width: 38px; height: 38px; border-radius: 999px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
  background: #ffd074;
  border: 1px solid rgba(255, 208, 116,.18);
  color: white;
}
.recipe-steps__txt { line-height: 1.6; }

.recipe-tip {
  margin-top: 18px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 8px;
  padding: 18px;
  background: #fff;
}
.recipe-tip__h { margin: 0 0 10px; font-size: 28px; }
.recipe-tip__content { line-height: 1.7; }

.recipe-products { margin-top: 26px; }
.recipe-products__h { text-align: center; font-size: 18px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 14px; }
.recipe-products__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

.recipe-product { border: 1px solid rgba(0,0,0,.10); border-radius: 10px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.recipe-product__link { color: inherit; text-decoration: none; }
.recipe-product__img img { width: 100%; height: auto; display: block; }
.recipe-product__info { padding: 12px 12px 0; }
.recipe-product__name { font-size: 14px; margin: 0 0 6px; min-height: 38px; }
.recipe-product__price { font-weight: 700; margin-bottom: 10px; }
.recipe-product__actions { padding: 0 12px 12px; display: flex; gap: 10px; align-items: center; justify-content: space-between; }

.recipe-products__cta { display: flex; justify-content: center; margin-top: 16px; }

/* Responsive */
@media (max-width: 992px) {
  .recipe-hero2__title { font-size: 34px; }
  .recipe-card__cols { grid-template-columns: 1fr; }
  .recipe-products__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .recipe-products__grid { grid-template-columns: 1fr; }
  .recipe-hero2__meta { left: 10px; right: 10px; top: 10px; }
}

.star-rating {
  color: #f2c86a;
}

.star-not-rating {
  color: #d4d4d4;
}
  
/* ===== GRID RECETTES SIMPLE ===== */

.recipe-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px 34px;
}

/* Carte */
.recipe-tile{
  position: relative;
  background: transparent;
  box-shadow: 0px -10px 8px 0px rgba(0, 0, 0, 0.1);
  border-radius: 40px;
}

/* Image */
.recipe-tile__img{
  display: block;
  background: #fff;
  overflow: hidden;
  border-top-right-radius: 40px;
  border-top-left-radius: 40px;
}

.recipe-tile__img img{
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform .35s ease;
}

.recipe-tile:hover .recipe-tile__img img{
  transform: scale(1.03);
}

/* Contenu (centré) */
.recipe-tile__content{
  text-align: center;
  padding-top: 14px;
}

/* Sur-titre "RECETTES" */
.recipe-tile__kicker{
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .75;
  margin-bottom: 10px;
}

/* Titre */
.recipe-tile__title{
  margin: 0 0 14px 0;
  font-size: 16px;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.recipe-tile__title a{
  color: inherit;
  text-decoration: none;
}

/* Lien "Lire l'article" */
.recipe-tile__link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-size: 12px
}

/* Confort global */
.overview .module__wrapper{
  padding-top: 22px;
}

/* ---------------------------
   INTRO (Discover + titre + texte)
---------------------------- */
.overview__intro{
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.overview__intro__select.h6{
  display: grid;
  gap: 10px;
  align-content: start;
}

.overview__intro__select__text{
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  opacity: .75;
}

/* Select */
.overview__intro .custom-select.custom-select--plp.pink,
.overview__main .custom-select.custom-select--plp-sort{
  width: 100%;
}

.overview__intro select,
.overview__main select{
  width: 100%;
  min-height: 44px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 10px 12px;
  background: #fff;
}

/* Titre + description */
.overview__intro h1{
  margin-top: 6px;
  margin-bottom: 10px;
  font-size: 40px;
  line-height: 1.15;
}

.overview-description-box p {
  background: #ffd074;
  border: 1px solid rgba(255, 208, 116,.08);
  border-radius: 12px;
  padding: 14px 14px;
  line-height: 1.7;
  margin: 0;
  color: white;
}

.overview-description-box p br{
  display: block;
  content: "";
  margin: 8px 0;
}

/* ---------------------------
   FILTRES (sidebar)
---------------------------- */
.overview__main__filter{
  position: sticky;
  top: 18px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  padding: 14px;
  background: #fff;
}

.overview__main__filter__title{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

/* Recherche */
.overview__main__filter__search{
  padding: 12px 0 4px;
}

.input-normal__wrapper--search{
  position: relative;
}

.input-normal--search-overview{
  width: 100%;
  min-height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 10px 14px;
  background: #fff;
}

/* Accordéons */
.overview__main__filter__item{
  margin-top: 10px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.overview__main__filter__item__title{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 12px;
  cursor: pointer;
  font-weight: 700;
  font-size: 13px;
}

.overview__main__filter__item__content{
  padding: 8px 12px 12px;
}

/* Liste checkbox */
.overview__main__filter__item__content ul{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.custom-checkbox{
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 10px;
  align-items: center;
}

.custom-checkbox__check{
  width: 18px;
  height: 18px;
  border-radius: 5px;
  border: 1px solid rgba(0,0,0,.20);
}

/* ---------------------------
   TOP RESULTATS (compteur + tri + filtre mobile)
---------------------------- */
.overview__main__top{
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  background: rgba(0,0,0,.02);
}

.overview__main__top .text--small{
  font-weight: 700;
}

.overview__main__top__sort,
.overview__main__top__filter{
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .85;
}

/* Le select de tri : un peu plus compact */
.custom-select--plp-sort select{
  min-height: 42px;
  border-radius: 10px;
}

/* ---------------------------
   Responsive
---------------------------- */
@media (max-width: 992px){
  /* Le sticky filter peut gêner sur tablette, on le désactive */
  .overview__main__filter{
    position: relative;
    top: auto;
  }

  .overview__intro h1{
    font-size: 24px;
  }
}

@media (max-width: 560px){
  .overview__main__top{
    padding: 10px;
  }

  .js-overview-description{
    padding: 12px;
  }
}

/* ===== BARRE CONTROLES (Découvrir + Recherche) ===== */
.recipe-controls{
  margin: 14px 0 18px;
}

.recipe-controls__inner{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: end;

  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.02);
  border-radius: 12px;
  padding: 12px;
}

.recipe-controls__label{
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 11px;
  opacity: .75;
  margin-bottom: 8px;
}

.recipe-controls__field{
  width: 100%;
}

/* Select */
.recipe-controls__select{
  width: 100%;
  min-height: 44px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 10px 12px;
  background: #fff;
}

/* Recherche */
.recipe-controls__form{
  position: relative;
}

.recipe-controls__search{
  width: 100%;
  min-height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 10px 44px 10px 14px;
  background: #fff;
}

.recipe-controls__submit{
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* Responsive */
@media (max-width: 768px){
  .recipe-controls__inner{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 576px){
  .recipe-grid{
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .recipe-tile{
    width: 100%;
  }

  .recipe-tile__img,
  .recipe-tile__img img{
    width: 100%;
  }
}

.recipe-products .product-title {
  width: 236px!important;
}