/* Desktop grid */

.ro-ringotut{
  /* max-width: 1100px; */
  margin: 0 auto;
  
}



.ro-ringotut__aside{
  position: sticky;
  top: calc(var(--ro-space-24) + var(--ro-topbar-h));
}




/* Mobile: 1 seule colonne + segmented visibles */
@media (max-width: 1023.98px){
   .ro-ringotut__grid{
    flex-direction: column;
  }

  /* cacher les 3 panneaux */
  #ro-panel-infos,
  #ro-panel-prep,
  #ro-panel-similar{
    display: none !important;
  }

  /* afficher le panneau actif */
  #ro-panel-infos.is-active,
  #ro-panel-prep.is-active,
  #ro-panel-similar.is-active{
    display: flex !important ;
  }

}

/* ------------------------ TOOLBAR-DESKTOP ------------------------- */
#ro-filters .ro-single-actions{
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  padding: var(--ro-space-8) var(--ro-space-24);
}

#ro-filters .single-actions__link{
  display: flex;
    align-items: center;
    gap: 24px;
}

/* ------------------------ DISCLAIMER ------------------------- */
.disclaimer_desk{
  background:var(--ro-err-100);
  border : 1px solid var(--ro-err-200);
  border-radius: var(--ro-radius-8);
  padding: 0 var(--ro-space-12);
}
.disclaimer-title, .disclaimer-txt{
  color: var(--ro-err-700);
}

/* =========================================================
   DISCLAIMER TOOLTIP
========================================================= */

.ro-disclaimer{
  position: relative;
  display: inline-flex;
  align-items: center;
  max-width: 100%;
}

.ro-disclaimer__trigger{
  display: inline-flex;
  align-items: center;
  gap: var(--ro-space-6);
  margin: 0;
}

.ro-disclaimer__icon{
  font-size: 0.875rem;
  line-height: 1;
  color: var(--ro-err-600);
  flex: 0 0 auto;
}

.ro-disclaimer__tooltip{
  position: absolute;
  top: calc(100% + var(--ro-space-8));
  left: 0;

  width: min(42rem, 70vw);
  padding: var(--ro-space-10) var(--ro-space-12);

  background: var(--ro-err-50);
  border: 1px solid var(--ro-err-200);
  border-radius: var(--ro-radius-12);

  color: var(--ro-err-700);
  font-size: var(--ro-font-size-s);
  line-height: var(--ro-line-height-base);

  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition:
    opacity .18s ease,
    transform .18s ease,
    visibility 0s linear .18s;

  z-index: 60;
  pointer-events: none;
}

.ro-disclaimer:hover .ro-disclaimer__tooltip,
.ro-disclaimer:focus-within .ro-disclaimer__tooltip{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition:
    opacity .18s ease,
    transform .18s ease,
    visibility 0s;
}


/* ------------------------ ACTIONS ------------------------- */

@media (max-width: 680px) {
  .community_actions, .top-disclaimer-txt{
    display:none !important;
  }
  
}

i.ri-alarm-warning-line{
  color:var(--ro-err-700);
}


.ro-actions__row{
  display:flex;
  flex-wrap:wrap;
  gap: var(--ro-space-8);
  align-items:center;
}
.ro-actions__hint{
  margin-top: var(--ro-space-8);
}

.ro-tool-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    /* border: 0; */
    background: transparent;
    cursor: pointer;
    font-size: 18px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
}

.ro-tool-btn i{
  font-size:24px
}

.ro-tabbar--single{
  display:none;
}


@media (max-width:680px) {
    .ro-tabbar--single{
  position: fixed;
  height: 66px;
  left :0;
  right:0;
  bottom: 0;
  z-index: 80;
  background: var(--ro-bg-0);
  border-top: 2px solid var(--ro-dolphing-300);
  box-shadow: 0 -10px 30px rgba(0,0,0,.08);
  
  display: flex;
  align-items: center;
  gap: var(--ro-space-8);
  
  
  }

  .ro-tabbar-single-actions{
    
    width:100%;
    
    padding: 0 var(--ro-space-12);
  }

  .ro-tabbar-single-actions__link{
    width: 100%;
    display: flex;
    justify-content: space-around;
  }
}




/* type de contenu - non présent en front */

/* --------------------------------------------------------------------
                          CONTENU DE LA RECETTE
---------------------------------------------------------------------- */
/* Content recette */
.ro-ringotut__column{
  display: flex;
  gap: var(--ro-space-24);
  padding-top: var(--ro-space-24);
  
}

.ro-ringotut__column-container{
  display: flex !important;
  gap: var(--ro-space-24);
  width: 100%;
}

.ro-ringotut__col--left, 
.ro-ringotut__col--main, 
.ro-ringotut__col--right{
  display: flex !important;
  flex-direction: column;
  gap: var(--ro-space-24);
}

/* largeur des colonnes */
.ro-ringotut__col--left{
  flex: 1;
}

.ro-ringotut__col--main{
  flex: 1.95;
}

.ro-ringotut__col--right{
  flex: 1.05;
}



@media (max-width: 768px){
  .ro-ringotut__column{
    padding : var(--ro-space-36);
    align-items: stretch;
  }

  .ro-ringotut__column-container{
    flex-direction: column;
    width: 100%;
    margin: 0;
    max-width: none;
    
  }

  .ro-ringotut__col--left, 
  .ro-ringotut__col--main, 
  .ro-ringotut__col--right{
    width: 100%;
    max-width: 100%;
    gap: var(--ro-space-16);
  }

  .ro-ringotut__col > section {
    width: 100%;
    
  }
}
@media (max-width: 425px){
  .ro-ringotut__column{
    padding : var(--ro-space-12);
    
  }

  .ro-ringotut__col--left, .ro-ringotut__col--main, .ro-ringotut__col--right{
    gap: var(--ro-space-12);
  }
}


/* ------------------------ INFOS (left on desk) ------------------------- */



.ro-ingredients, 
.ro-materials, 
.ro-conservation, 
.ro-precautions{
  display: flex !important;
  flex-direction: column;
  border: var(--ro-size-1) solid var(--ro-single-border-soft);
  background: var(--ro-single-surface-soft);
  border-radius: var(--ro-radius-16);
  padding: var(--ro-space-12);
  gap: var(--ro-space-24);
}

.ro-ingredients__list{
  display: flex !important;
  flex-direction: column-reverse;
  gap: var(--ro-space-12);
}

/* Ingredients */



/* Materiel */

.ro-materials .ro-list{
  padding: 0;
}


/* Conservation */
.ro-conservation__grid{
  display: grid;
  gap: 12px;
}
.ro-conservation__row{
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 12px;
  align-items: baseline;
}
.ro-conservation__label{
  opacity: .7;
}


/* Précaution */
.ro-precautions__grid{ 
  display:grid; gap:12px; 
}
.ro-precautions__row{ 
  display:grid; 
  grid-template-columns:140px 1fr; 
  gap:12px; 
  align-items:baseline; 
}
.ro-precautions__label{ 
  opacity:.7; 
}

.ro-precautions__grid .ro-precaution__desc{
  display: flex;
  flex-direction: column;
  gap: var(--ro-space-6);
}

/* ------------------------ CENTER ( etapes) ------------------------ */
.ro-steps{
  background: var(--ro-single-surface);
  padding: var(--ro-space-24);
  gap: var(--ro-space-24);
  border-radius: var(--ro-radius-16);
}

.ro-steps__list{
  display: flex !important;
  flex-direction: column;
  gap:var(--ro-space-24);
}


.ro-step__head{
  height: var(--ro-size-24);
  width: var(--ro-size-24);
  display: flex;
  justify-content: center;
  border-radius: 24px;
  background: var(--ro-single-accent);
  color: var(--ro-single-text-on-accent);
}

.ro-step__index{
  font-weight: var(--ro-font-weight-bold); 
}

.ro-step{
  
  background: var(--ro-bg-0);
  border: 1px solid var(--ro-single-border);
  gap: var(--ro-space-24);
  padding: var(--ro-space-12);
  border-radius: var(--ro-radius-8);
}

.ro-step__warn{
  background: var(--ro-single-surface);
  border: 1px solid var(--ro-single-border);
  padding: var(--ro-space-8);
  border-radius: var(--ro-radius-6);

}

.ro-step__media{
  display: flex;
  justify-content: center;
  padding: var(--ro-space-12) 0px;
}

.ro-step__media img{
  aspect-ratio: 2/1;
  width: 60%;
}

@media (max-width: 1600px){

  .ro-step__media img{
    width: 100%;
  }
}

@media (max-width: 425px){
  .ro-steps{
    padding: var(--ro-space-12);
  }

  .ro-steps__list{
    gap:var(--ro-space-12);
  }

}

.ro-card--compact {
  display: flex;
  gap: 24px;
}

/* ------------------------ RIGHT : Recette similaires (empty) ------------------------ */
i.ri-verified-badge-fill::before{
  color:var(--ro-succ-600);
}

i.ri-verified-badge-line{
  color: var(--ro-neutral-400) !important;
}


/* ------------------------ ACTION BAR ------------------------ */
  .ro-actionbar{
  position: sticky;
  bottom: 0;
  z-index: 80;
  background: var(--ro-bg-0);
  border-top: 2px solid var(--ro-dolphing-300);
  padding: var(--ro-space-12);
  display: flex;
  justify-content: flex-end;
  gap: var(--ro-space-8);
  box-shadow: 0 -10px 30px rgba(0,0,0,.08);
  border-radius: var(--ro-radius-16) var(--ro-radius-16) 0 0;
}

@media (max-width: 768px) {
  .ro-actionbar {
    padding: var(--ro-space-12) var(--ro-space-12) 32px var(--ro-space-12); 
  }
  
}


/* =========================
   Ringotut bloqué / à corriger
   ========================= */

.ro-ringotut__col--locked{
  flex: 2.95;
}

.ro-ringotut-locked{
  min-height: 420px;
  width: 100%;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: var(--ro-space-24);
  border-radius: var(--ro-radius-16);

  background: rgba(255, 255, 255, .22);
  border: 1px solid var(--ro-err-200);

  backdrop-filter: blur(14px) saturate(.9);
  -webkit-backdrop-filter: blur(14px) saturate(.9);
}

.ro-ringotut-locked__card{
  width: min(720px, 100%);
  padding: var(--ro-space-24);

  border-radius: var(--ro-radius-16);
  background: rgba(255, 250, 250, .88);
  border: 1px solid var(--ro-err-200);
  box-shadow: 0 16px 40px rgba(0,0,0,.08);

  text-align: center;
}

.ro-ringotut-locked__eyebrow{
  margin: 0 0 var(--ro-space-8);
  color: var(--ro-err-700);
  font-size: var(--ro-font-size-s);
  font-weight: var(--ro-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.ro-ringotut-locked__title{
  margin: 0 0 var(--ro-space-12);
  color: var(--ro-err-700);
  font-size: var(--ro-font-size-xl);
  line-height: 1.1;
}

.ro-ringotut-locked__text{
  margin: 0 0 var(--ro-space-16);
  color: var(--ro-dolphing-800);
}

.ro-ringotut-locked__reason{
  padding: var(--ro-space-12);
  border-radius: var(--ro-radius-12);

  background: var(--ro-err-50);
  border: 1px solid var(--ro-err-200);

  color: var(--ro-err-700);
  font-weight: var(--ro-font-weight-semB);
  line-height: var(--ro-line-height-base);
}

/* mobile */
@media (max-width: 768px){
  .ro-ringotut--locked .ro-ringotut__column{
    padding: var(--ro-space-12);
  }

  .ro-ringotut--locked .ro-ringotut__column-container{
    flex-direction: column;
  }

  .ro-ringotut__col--locked{
    flex: none;
    width: 100%;
  }

  .ro-ringotut-locked{
    min-height: 320px;
    padding: var(--ro-space-16);
  }

  .ro-ringotut-locked__card{
    padding: var(--ro-space-16);
  }

  .ro-ringotut-locked__title{
    font-size: var(--ro-font-size-l);
  }

  .ro-ringotut--locked #ro-panel-similar{
    display: flex !important;
  }
}