/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

@media (max-width: 800px) {
	h1, h2 {
		font-size: 36px !important;
	}
  
}

.titre-fixe {
  min-height: 200px;
}

@media (max-width: 800px) {
	.texte-accueil {
		font-size: 25px !important;
	}
  
}

/* Horaires page contact */

.horaire-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: inherit;
	line-height:15px;
}

.horaire-item {
  display: flex;
  gap: 4px;
  align-items: flex-start;
}

.jour {
  min-width: 30px;
}

.heure {
  white-space: nowrap;
}

.teletravail-note {
  margin-top: 15px;
}

/* STYLES TITRE DÉFILANT */

.marquee-wrapper {
  overflow: hidden;
  width: 100%;
  position: relative;
  white-space: nowrap;
}

.marquee-track {
  display: inline-block;
  animation: scroll-marquee 30s linear infinite;
}

.marquee-item {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.marquee-item span {
  font-family: 'Right Grotesk Tall Bold', sans-serif;
  font-size: 150px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 2px;
  display: inline-block;
}

.rose {
  color: #f7b5f5;
}

.vert {
  color: #136546;
}

.fleche-inline {
  height: 110px;
	padding-top:20px;
	margin: 0 20px;
}

@keyframes scroll-marquee {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* STYLES SERVICES CJE */

/* Grille principale */
.services-cje-grid {
  display: block;
  margin-top: 30px;
}

/* Filtres */
.services-cje-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 50px;
  margin-bottom: 40px;
}

.services-cje-filters .filter-btn {
  background: none;
  border: none;
  padding: 6px 12px;
  font-size: 16px;
  font-family: inherit;
  color: #9d9d96;
  cursor: pointer;
  white-space: normal;
  line-height: 1.4;
  text-align: center;
  max-width: 200px;
  min-height: 2.8em; 
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
}

.services-cje-filters .filter-btn.active {
	color: #000000;
	border-bottom: 2px solid #000000;
	display: inline-block;
    padding: 0;
}

/* Cartes */
.services-cje-card {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 24px;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.3s ease;
  background-size: cover;
  background-position: center;
}

.services-cje-card:hover {
  transform: scale(1.02);
}

@media (min-width: 768px) {
  .services-cje-card {
    width: calc(50% - 12px);
  }
}
@media (min-width: 1024px) {
  .services-cje-card {
    width: calc(33.333% - 16px);
  }
}

/* Image de fond */
.card-bg-image {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
}

/* Titre centré */
.card-title {
  position: relative;
  z-index: 2;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.taille-petite { height: 250px; }
.taille-moyenne { height: 400px; }
.taille-grande { height: 500px; }
.taille-tres-grande { height: 600px; }
.taille-super-grande { height: 750px; }

/* Memoires toogles */
:root{
  --memo-gap: 24px;
  --memo-h: 600px; 
}

/* ====== Conteneur général ====== */
.memoire-liste{ display:flex; flex-direction:column; }
.memoire-item{ position:relative; margin:0; padding:0; }

.memoire-header{
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  cursor:pointer;
  padding:8px 0 0 0;
  margin-right:500px;
}
.memoire-header:first-of-type{ border-top:1px solid #000; }

.memoire-titre{
  font-family:'Right Grotesk Tall Bold', sans-serif;
  font-size:50px; color:#000; text-transform:uppercase;
  margin-bottom:10px; line-height:1;
}
.memoire-annee{
  font-family:'Right Grotesk Tall Bold', sans-serif;
  font-size:50px; color:#808072; line-height:1;
  margin:0 24px; padding:0 24px; margin-bottom:10px;
}
.memoire-toggle{ width:30px; height:auto; margin-bottom:10px; }

/* ====== Détail : toute la rangée scrollable (TEXTE + IMAGES) ====== */
.memoire-detail{
  position:relative;
  height:var(--memo-h);
  margin:30px 0;
  padding:0;
  overflow:hidden;
  isolation:isolate;
}

.memoire-detail-track{
  display:flex;
  gap:var(--memo-gap);
  height:100%;
  overflow-x:auto; overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:auto;
  scrollbar-width:none;
  cursor:grab;
  user-select:none;
  touch-action:pan-y; 
  overscroll-behavior:contain;
}
.memoire-detail-track::-webkit-scrollbar{ display:none; }
.memoire-col{
  flex:0 0 calc((100% - 2*var(--memo-gap))/3);
  height:100%;
  box-sizing:border-box;
}

/* ====== Colonne gauche (texte) ====== */
.memoire-col-gauche{
  background:#fff;
  padding:24px;
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
}
.memoire-body{ flex:0 0 auto; } 
.memoire-invites-wrap{ margin-top:auto; } 

.memoire-col-gauche h1,
.memoire-col-gauche h2,
.memoire-col-gauche h3,
.memoire-invites-titre{
  font-family:'Right Grotesk Tall Bold', sans-serif;
  line-height:1.1;
}
.memoire-col-gauche p,
.memoire-description,
.memoire-invites{
  font-family:'Trade Gothic LT Extended Std', sans-serif;
  font-size:15px; line-height:1.6; color:#000;
}
.memoire-date{ margin-bottom:.5em; }
.memoire-lieu{ margin-top:0; margin-bottom:1em; }
p.memoire-date, p.memoire-invites-titre{ margin-bottom:0 !important; }
.memoire-invites-titre {
    font-family: 'Trade Gothic LT Extended Std', sans-serif;
    font-size: 15px;
    color: #808072;
    margin-top: 1.5em;
    margin-bottom: 0.3em;
}

.memoire-col img{
  width:100%; height:100%;
  object-fit:cover; display:block;
  pointer-events:none; user-select:none;
}
.drag-hint{
  position:absolute; right:16px; bottom:16px;
  width:38px; height:38px; border-radius:999px;
  background:rgba(0,0,0,.32);
  border:2px solid rgba(255,255,255,.95);
  display:grid; place-items:center;
  opacity:0; transform:translateY(6px);
  transition:opacity .2s ease, transform .2s ease;
  pointer-events:none; z-index:2;
}
.memoire-detail:hover .drag-hint{ opacity:1; transform:none; }
.memoire-header{ position:relative; z-index:3; }
.memoire-detail{ display:none; }
.memoire-detail.is-open{ display:block; }

.drag-hint{ pointer-events:none; }


/* ====== Responsive ====== */
@media (max-width:1024px){
  .memoire-titre,.memoire-annee{ font-size:40px; }
  :root{ --memo-h:500px; }
  /* 1 colonne visible à la fois en tablette */
  .memoire-col{ flex:0 0 100%; }
}
@media (max-width:768px){
  .memoire-titre,.memoire-annee{ font-size:30px; }
  :root{ --memo-h:380px; }
}

/* ====== Bouton modale bio ====== */


.image-equipe-wrapper {
  position: relative;
}

.btn-bio-absolute {
  position: absolute;
  bottom: 20px;
  left: 20px;
  z-index: 2;
  text-decoration: none;
  transition: all 0.3s ease;
}

.modal-bio-wrapper {
  display: flex;
  gap: 30px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.modal-bio-photo img {
  width: 250px;
  border-radius: 6px;
  object-fit: cover;
}

.modal-bio-content {
  flex: 1;
}

.modal-bio-content h2 {
  font-size: 28px;
  margin-bottom: 5px;
}

.modal-bio-content .modal-bio-poste {
  color: #f04e23;
  font-weight: bold;
  margin-bottom: 15px;
}

.modal-bio-text {
  margin-bottom: 20px;
}

.modal-bio-email a {
  color: #000000;
  font-weight: 500;
}



/* ====== Timeline ====== */

.wptl-excerpt, .wpex-timeline-label h2{
	text-align:left;
	width:30%;
	top: -90px;
}
.wpex h2 + .hidden-date + .wptl-excerpt, .wpex h2 + .wptl-excerpt{
	margin-left:30px;
}

.wptl-excerpt {
	position:absolute;
	padding-right:150px;
	top:-300 px;
}

.wpex.horizontal-timeline .timeline-hr{
	border-bottom: 3px solid #FFFFFF;
}

.wpex-timeline-label h2{
	position:absolute;
	top: -90px;
	left: calc(50% - 300px);
	transform: translateX(-100%);
	z-index: 2;
	margin: 0;
	pointer-events: none;
}

.wpex-timeline-label{
	overflow:visible;
	}
.wpex.horizontal-timeline.wpex-horizontal-left .timeline-media + div{
width: 40%;
padding: 0;	
	}

.timeline-media{
	width:800px;
}

.wpex.horizontal-timeline .ex_s_lick-list{
	overflow:visible;
}
.wpex.horizontal-timeline .horizontal-nav .ex_s_lick-list{
	margin-bottom:100px;
}

.wpex.horizontal-timeline.wpex-horizontal-left .timeline-media {
	width:50%;
	padding:0;
	margin:0;
}

 .wpex.horizontal-timeline .wpex-timeline-label .timeline-media img{
    max-height: none !important;
    width: 100% !important;
    height: auto !important;
  }

.wpex.horizontal-timeline{
  --tl-accent: #ff6b5f;
  --tl-size: 44px;  
  --tl-gap: 12px; 
  --tl-top: -10px;  
  --tl-right: 16px;  
  --tl-counter-gap: 6px;  
}

.wpex.horizontal-timeline .horizontal-content{
  position: relative;
  overflow: visible; /* au cas où */
}

.wpex.horizontal-timeline .horizontal-content .ex_s_lick-prev,
.wpex.horizontal-timeline .horizontal-content .ex_s_lick-next{
  position: absolute;
  top: var(--tl-top);
  left: auto !important; 
  right: var(--tl-right);
  width: var(--tl-size);
  height: var(--tl-size);
  line-height: var(--tl-size);
  border: 0; 
  background: transparent !important;
  color: var(--tl-accent) !important;
  opacity: 1 !important;
  transform: none !important;
  z-index: 5;
}

/* Prev à gauche de Next, mais toujours côté droit */
.wpex.horizontal-timeline .horizontal-content .ex_s_lick-prev{
  right: calc(var(--tl-right) + var(--tl-size) + var(--tl-gap));
}

/* Cacher l'icône FA et le texte natifs */
.wpex.horizontal-timeline .horizontal-content .ex_s_lick-prev .fa,
.wpex.horizontal-timeline .horizontal-content .ex_s_lick-next .fa,
.wpex.horizontal-timeline .horizontal-content .ex_s_lick-prev .expt-hidden,
.wpex.horizontal-timeline .horizontal-content .ex_s_lick-next .expt-hidden{
  display: none !important;
}

/* Injecter tes SVGs */
.wpex.horizontal-timeline .horizontal-content .ex_s_lick-next::after,
.wpex.horizontal-timeline .horizontal-content .ex_s_lick-prev::after{
  content: "";
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}

/* chemins vers tes fichiers */
.wpex.horizontal-timeline .horizontal-content .ex_s_lick-next::after{
  background-image: url('/wp-content/uploads/2025/08/fleche-droite-bordure.svg');
}
.wpex.horizontal-timeline .horizontal-content .ex_s_lick-prev::after{
  background-image: url('/wp-content/uploads/2025/08/fleche-gauche-bordure.svg');
}

/* Hover léger (si tu veux un feedback) */
.wpex.horizontal-timeline .horizontal-content .ex_s_lick-prev:hover::after,
.wpex.horizontal-timeline .horizontal-content .ex_s_lick-next:hover::after{
  filter: brightness(0.95);
}

/* Compteur sous les flèches */
.wpex.horizontal-timeline .horizontal-content .timeline-counter{
  position: absolute;
  right: var(--tl-right);
  top: calc(var(--tl-top) + var(--tl-size) + var(--tl-counter-gap));
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .02em;
  color: #101010;
  opacity: .85;
  z-index: 4;
}


/* ====== Calendrier QJ ====== */

/* ===== Mois (pills) ===== */
.qj-cal__months {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}
.qj-cal__label {
  font-size:14px;
  color:#999;
  margin-right:6px;
}
.qj-pill {
  display:inline-block;
  padding:6px 14px;
  border:1px solid #E2E2E2;
  border-radius:18px;
  font-size:16px;
  font-family: 'Trade Gothic LT Extended Std', sans-serif;
  color:#000;
  text-decoration:none;
	background:transparent;
}
.qj-pill.is-active {
  background:#FF6A55;
  border-color:#FF6A55;
  color:#000;
}

/* ===== Jours (entêtes) ===== */
.qj-cal__weekdays {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  margin:0 0 6px;
}
.qj-cal__weekdays > div {
  font-size:12px;
  color:#888;
  text-align:left;
}

/* ===== Grille ===== */
.qj-cal__grid {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
}
.qj-cell {
  min-height:120px;
  background:#fff;
  border:1px solid #000;
  border-radius:0;
  position:relative;
  overflow:hidden;
}
.qj-cell--empty {
  background:#fff;
}
.qj-cell__day {
  position:absolute;
  top:8px;
  right:10px;
  font-weight:700;
  font-size:26px;
  color:#000;
}

/* ===== Pastilles événements ===== */
.qj-badge {
  display:block;
  width:100%;
  text-align:left;
  margin-top:44px;
  padding:6px 8px;
  border:none;
  background:var(--qj-badge-bg,#999);
  color:#fff;
  font-size:11px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  cursor:pointer;
}
.qj-badge + .qj-badge { margin-top:6px; }

.qj-oc-hidden-toggle{
  position:fixed !important;
  left:-9999px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
/* ===== Off-canvas Agenda (3 colonnes : image | contenu | date) ===== */
#oc__agenda .awb-off-canvas-wrap { max-height: 86vh; }
.qj-oc { padding: 28px; }

/* Grille principale */
.qj-oc__inner{
  --qj-gap: 32px;
  --qj-content-max: 560px;
  --qj-media-col:600px;
  display: grid;
  grid-template-columns:
    var(--qj-media-col)
    minmax(0, calc(100% - var(--qj-media-col) - 120px - (var(--qj-gap) * 2)))
    120px;
  column-gap: var(--qj-gap);
  row-gap: 0;
  align-items: start;
}


/* Colonne 1 : visuel */
.qj-oc__media{ grid-column: 1; grid-row: 2; }
.qj-oc__media img{
  display:block; width:100%; height:auto;}

/* --- Ligne 1 : barre + badge --- */
.qj-oc__bar{
  grid-column: 2 / 4;
  grid-row: 1;
  height: 8px;
  width: 100%;
  border-radius: 4px;
  background: var(--oc-accent, #6A4DFF);
  margin: 4px 0 10px;
}
.qj-oc__aside{
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
	position:relative;

}

/* Contenu du badge */
.qj-oc__datebadge{ position:relative; text-align:right!important; line-height:1.2; color:#9d9d92; min-width:70px;margin-top:20px }
.qj-oc__daynum   { font-size:30px; font-weight:700; margin:0; color:#9d9d92; }
.qj-oc__monthyear{ display:block; }
.qj-oc__month,
.qj-oc__year     { display:block; font-size:14px; color:#9d9d92; opacity:.95; }

.qj-oc__content{ grid-column: 2; grid-row: 2; padding-top:0; position:relative; max-width: var(--qj-content-max) !important; width: 100%;}

/* Titre + méta */
.qj-oc__header{ display:block; margin-bottom:10px; }
.qj-oc__title{ margin:6px 0 0; font-size:32px; line-height:1.1; word-break:break-word; white-space:normal; }
.qj-oc__meta{ display:block !important; text-align:left; margin-top:6px; }
.qj-oc__meta .qj-oc__line{ display:block !important; white-space:normal !important;}
.qj-oc__line--hours{ margin-top:2px; }
.qj-oc__line--place{ margin-top:8px; }

/* Extrait + description */
.qj-oc__excerpt{ margin:6px 0 10px; font-weight:500; }
.qj-oc__desc p{ margin:0 0 10px; }

/* Invités */
.qj-oc__guests{ margin-top:14px; }
.qj-oc__guest{ margin:0 0 12px; }
.qj-oc__guest-name{ font-weight:600; }
.qj-oc__guest-role{ opacity:.9; }

/* CTA */
.qj-oc__cta{
  grid-column: 2;
  justify-self: start;
  display:inline-flex;
  margin-top:16px;
  background:#000; color:#fff;
  border:2px solid #000; padding:10px 18px;
  border-radius:24px; font-weight:600; text-decoration:none;
}
.qj-oc__cta:hover{ background:transparent; color:#000; }

/* Masquer éléments vides */
.qj-oc__line--link:empty,
.qj-oc__line--place:empty,
.qj-oc__excerpt:empty,
.qj-oc__cta:not([href]){ display:none; }

/* ===== Responsive ===== */
@media (max-width: 900px){
  .qj-oc__inner{ grid-template-columns: 1fr; }

  /* Ordre vertical : barre (1) -> badge (2) -> contenu (3) */
  .qj-oc__bar{ grid-column: 1 / -1; grid-row: 1; }
  .qj-oc__aside{ grid-column: 1; grid-row: 2; justify-self:start; }
  .qj-oc__content,
  .qj-oc__header,
  .qj-oc__excerpt,
  .qj-oc__desc,
  .qj-oc__guests,
  .qj-oc__cta{ grid-column: 1; grid-row: 3; }
}
