/* ResearchConnect - Custom listing UI (green accent) */
:root{
  --rc-green: #23A137;
  --rc-green-weak: rgba(35,161,55,.12);
  --rc-text-muted: #6c757d;
  --rc-border: #e8ecef;
  --rc-shadow: 0 12px 28px rgba(0,0,0,.08);
}

.rc-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin: 18px 0 22px;
}

.rc-search{
  display:flex;
  width:100%;
  max-width: 620px;
}

.rc-search input{
  height:46px;
  border:2px solid var(--rc-green);
  border-right:0;
  border-radius: 10px 0 0 10px;
  padding: 10px 14px;
  outline: none;
  width: 100%;
}

.rc-search button{
  height:46px;
  border:2px solid var(--rc-green);
  background: var(--rc-green);
  color:#fff;
  padding: 0 18px;
  border-radius: 0 10px 10px 0;
  font-weight: 600;
}

.rc-card{
  background:#fff;
  border:1px solid var(--rc-border);
  border-radius:16px;
  padding:18px 18px 16px;
  height:100%;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.rc-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--rc-shadow);
  border-color: rgba(35,161,55,.35);
}

.rc-card__title{
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 6px;
}

.rc-card__subtitle{
  color: var(--rc-text-muted);
  font-size: 14px;
  margin: 0 0 12px;
}

.rc-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin: 10px 0 0;
}

.rc-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:.25rem .65rem;
  border-radius: 999px;
  background: var(--rc-green-weak);
  color: var(--rc-green);
  font-weight: 700;
  font-size: 12px;
  line-height: 1.1;
  border: 1px solid rgba(35,161,55,.20);
}

.rc-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 14px;
}

.rc-link{
  color: var(--rc-green);
  font-weight: 700;
  text-decoration: none;
}
.rc-link:hover{ text-decoration: underline; }

.rc-empty{
  border:1px dashed var(--rc-border);
  background: #fafafa;
  border-radius: 16px;
  padding: 18px;
  color: var(--rc-text-muted);
}

/* Details / profile */
.rc-profile{
  border:1px solid var(--rc-border);
  border-radius: 18px;
  background:#fff;
  padding: 18px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
}
.rc-profile__grid{
  display:flex;
  gap:18px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.rc-avatar{
  width: 110px;
  height: 110px;
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid var(--rc-border);
  background:#f7f7f7;
  flex: 0 0 auto;
}
.rc-avatar img{ width:100%; height:100%; object-fit:cover; }
.rc-profile__title{
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 4px;
}
.rc-profile__meta{
  color: var(--rc-text-muted);
  margin: 0 0 10px;
}
.rc-kv{
  display:flex;
  flex-wrap:wrap;
  gap: 10px 18px;
  margin-top: 8px;
}
.rc-kv .item{
  font-size: 14px;
  color: #2b2b2b;
}
.rc-kv .item span{
  color: var(--rc-text-muted);
  margin-right: 6px;
}
.rc-section{
  margin-top: 22px;
}
.rc-section__title{
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 12px;
}
.rc-table{
  width: 100%;
  border-collapse: collapse;
}
.rc-table th, .rc-table td{
  padding: 10px 12px;
  border-bottom: 1px solid var(--rc-border);
  vertical-align: top;
}
.rc-table th{
  font-weight: 800;
  color: #222;
  background: #fafafa;
}
.rc-pill{
  display:inline-flex;
  align-items:center;
  padding: .2rem .55rem;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  border: 1px solid rgba(35,161,55,.25);
  background: var(--rc-green-weak);
  color: var(--rc-green);
}

/* Bootstrap pagination tweaks */
.pagination .page-link{ color: var(--rc-green); }
.pagination .page-item.active .page-link{
  background: var(--rc-green);
  border-color: var(--rc-green);
  color:#fff;
}

/* ================================
   Slider : texte fixe + images qui défilent
   ================================ */

.main-slider.main-slider--fixed{
  position: relative;
  height: 80vh;          /* responsive */
  min-height: 560px;
  max-height: 900px;
  overflow: hidden;
  background: #23A137;
}

/* Carousel derrière */
.main-slider.main-slider--fixed .main-slider__carousel{
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Assurer une vraie hauteur aux éléments Owl */
.main-slider.main-slider--fixed .owl-stage-outer,
.main-slider.main-slider--fixed .owl-stage,
.main-slider.main-slider--fixed .owl-item,
.main-slider.main-slider--fixed .item{
  height: 100%;
}

/* Les items ne portent plus le padding (puisque texte = overlay) */
.main-slider.main-slider--fixed .item{
  padding: 0 !important;
  background: transparent !important;
}

/* Background visible */
.main-slider.main-slider--fixed .main-slider__bg{
  z-index: 0 !important;   /* slider.css met -1 */
}

/* Overlay texte au-dessus */
.main-slider.main-slider--fixed .main-slider__overlay{
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  padding: 80px 0;
}

/* Voile sombre pour la lisibilité du texte */
.main-slider.main-slider--fixed .main-slider__overlay::before{
  content: "";
  position: absolute;
  inset: 0;
 
  z-index: 0;
}

.main-slider.main-slider--fixed .main-slider__overlay .container{
  position: relative;
  z-index: 1;
}

/* Forcer l’affichage du texte (slider.css met opacity:0 / visibility:hidden) */
.main-slider.main-slider--fixed .main-slider__sub-title-box,
.main-slider.main-slider--fixed .main-slider__title,
.main-slider.main-slider--fixed .main-slider__text,
.main-slider.main-slider--fixed .main-slider__btn-box{
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
}



