/* ====== LISTE des participants ====== */

.fpuf-card,
.fpuf-card *{
  box-sizing: border-box;
}

.fpuf-card{
  width: 265px;
  height: 400px;
  margin: 0 !important;
  display: block;
}

.fpuf-card__link{
  display:block;
  width:100%;
  height:100%;
  text-decoration:none;
  line-height:0; /* évite les gaps */
}

.fpuf-card__media{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
}

.fpuf-card__img{
  display:block; /* important */
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(100%);
  transform:scale(1);
  transition:filter .25s ease, transform .35s ease;
}

.fpuf-card:hover .fpuf-card__img{
  filter:grayscale(0%);
  transform:scale(1.03);
}

.fpuf-card__img--empty{
  background:#eee;
}

/* Footer overlay */
.fpuf-card__footer{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  padding:10px;
  gap:10px;
}

/* Left labels */
.fpuf-card__left{
  display:flex;
  flex-direction:column;
  gap:6px;
  max-width:75%;
}

.fpuf-card__name{
  display:inline-block;
  padding:6px 10px;
  background:#2d6cdf;
  color:#fff;
  font-weight:700;
  line-height:1.1;
  border-radius:2px;
}

.fpuf-card__cat{
  display:inline-block;
  padding:6px 10px;
  background:#6b6b6b;
  color:#fff;
  line-height:1.1;
  border-radius:2px;
  transition:background-color .25s ease;
}

.fpuf-card:hover .fpuf-card__cat{
  background:#054c7c;
}

/* Right icons */
.fpuf-card__right{
  display:flex;
  gap:6px;
  align-items:center;
}

.fpuf-ico{
  width:25px;
  height:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.45);
  border-radius:0px;
  color:#fff;
}

.fpuf-ico .dashicons{
  color:#fff;
  font-size:18px;
  width:18px;
  height:18px;
}

.fpuf-ico:hover{
  background:rgba(0,0,0,.65);
  color:#e05a00;
}

/* WPBakery: parfois text-align:center casse l’alignement */
.wpb_wrapper .fpuf-grid{
  text-align:left !important;
}

/* === Icônes réseaux collées entre elles (liste participants) === */
.fpuf-card__right{
  gap: 0 !important;        /* si flex + gap */
}

.fpuf-card__right .fpuf-ico{
  margin: 0 !important;     /* supprime toute marge */
  padding: 0 !important;    /* supprime padding éventuel */
}
/* === Fin === */


/* === HOVER Couleur de fond des icônes réseaux (liste participants) === */
.fpuf-grid{
  --fpuf-ico-bg-hover: #e05a00;
}

.fpuf-card__right .fpuf-ico:hover{
  background-color: var(--fpuf-ico-bg-hover);
}
/* === Fin === */

/* liste des participants */

/* === Footer carte : collé aux bords de la photo === */
.fpuf-card__footer{
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  padding: 0 !important; /* supprime toute marge interne */
}

.fpuf-card__left,
.fpuf-card__right{
  padding: 0;
}

/* === Réglages typographiques cartes participants === */
.fpuf-grid{
  --fpuf-name-size: 14px;
  --fpuf-name-weight: 500;

  --fpuf-cat-size: 12px;
  --fpuf-cat-weight: 300;
}
.fpuf-card__name{
  font-size: var(--fpuf-name-size);
  font-weight: var(--fpuf-name-weight);
  line-height: 1.2;
}

.fpuf-card__cat{
  font-size: var(--fpuf-cat-size);
  font-weight: var(--fpuf-cat-weight);
  line-height: 1.2;  
}

/* Réduire l’écart entre le nom et la catégorie */
.fpuf-card__name{
  margin-bottom: -4px; /* ajuste ici : 0 / 2 / 4px */
}

.fpuf-card__cat{
  margin-top: 0;
}

/* === Réglages couleurs fond nom & catégorie === */
.fpuf-grid{
  --fpuf-name-bg: #e05a00;   /* fond du nom */
  --fpuf-cat-bg:  #383939;   /* fond de la catégorie */
}
.fpuf-card__name{
  background: var(--fpuf-name-bg);
  color: #fff; /* texte blanc (modifiable aussi si tu veux) */
  display: inline-block;
  padding: 4px 8px;
}

.fpuf-card__cat{
  background: var(--fpuf-cat-bg);
  color: #fff;
  display: inline-block;
  padding: 3px 8px;
}

@media (max-width: 768px){
  .fpuf-grid{
    --fpuf-name-size: 14px;
    --fpuf-name-weight: 600;

    --fpuf-cat-size: 12px;
    --fpuf-cat-weight: 400;
  }
}
/* === Réglages couleurs texte nom & catégorie === */
.fpuf-grid{
  --fpuf-name-color: #fff;
  --fpuf-cat-color: #fff;
}

.fpuf-card__name{
  color: var(--fpuf-name-color);
}

.fpuf-card__cat{
  color: var(--fpuf-cat-color);
}
/*@media (max-width: 768px){
  .fpuf-grid{
    --fpuf-name-bg: rgba(0,0,0,0.6);
    --fpuf-cat-bg: rgba(0,0,0,0.5);
  }
}

/* === Réglages couleur hover catégorie === */
.fpuf-grid{
  --fpuf-cat-bg-hover: #054c7c; /* couleur hover catégorie */
}
.fpuf-card:hover .fpuf-card__cat{
  background-color: var(--fpuf-cat-bg-hover);
}
@media (hover: none){
  .fpuf-card__cat:hover{
    background-color: var(--fpuf-cat-bg);
  }
}

/* === CENTRAGE GARANTI des lignes incomplètes (1/2/3 sur 4) === */
.vc_row .wpb_wrapper .fpuf-grid,
.wpb_wrapper .fpuf-grid,
.fpuf-grid{
  display: block !important;       /* IMPORTANT : coupe tout flex/grid précédent */
  width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;   /* centre les enfants inline-block */
}

/* Cartes : inline-block + reset float/clear */
.vc_row .wpb_wrapper .fpuf-grid .fpuf-card,
.wpb_wrapper .fpuf-grid .fpuf-card,
.fpuf-grid .fpuf-card{
  display: inline-block !important;
  vertical-align: top !important;

  width: 265px !important;         /* ta largeur */
  margin: 0 10px 20px 10px !important;

  float: none !important;
  clear: none !important;          /* IMPORTANT : certains thèmes mettent clear:both */
  text-align: left !important;     /* le contenu interne reste aligné à gauche */
  box-sizing: border-box !important;
}








/* ====== PAGE des participants ====== */
.fpuf-single{
  max-width:1200px;
  margin:40px auto;
  padding:0 16px;
}

.fpuf-single__top{
  display:flex;
  gap:28px;
  align-items:flex-start;
}

.fpuf-single__left{
  flex:0 0 320px;
}

.fpuf-single__portrait{
  width:100%;
  height:auto;
  display:block;
}

.fpuf-single__right{
  flex:1;
}

.fpuf-single__h1{
  margin:0 0 10px 0;
}

.fpuf-single__meta{
  margin:6px 0;
}

.fpuf-single__content{
  margin-top:14px;
  text-align: justify;
  line-height: 1.6;
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
}
@media (max-width: 768px){
  .fpuf-single__content{
    text-align: left;
  }
}

.fpuf-single__banner{
  margin-top:28px;
}

.fpuf-single__banner img{
  width:100%;
  height:auto;
  display:block;
}

/* Photographe */
.fpuf-single .fpuf-single__right .fpuf-single__name{
  color: #054c7c;
}

/* Photographe survol */
.fpuf-single__name:hover{
  color: #000;
}


/* Jury */
.fpuf-single.jury .fpuf-single__name{
  color: #8b0000;
}

@media (max-width: 900px){
  .fpuf-single__top{flex-direction:column;}
  .fpuf-single__left{flex-basis:auto;max-width:360px;}
}

.fpuf-card{ cursor:pointer; }
.fpuf-card:focus{ outline: 0px solid #2d6cdf; outline-offset: 0px; }


/* Force la mise en page single participant même si le thème surcharge */
.fpuf-single .fpuf-single__top{
  display:flex !important;
  gap:28px !important;
  align-items:flex-start !important;
}

.fpuf-single .fpuf-single__left{
  flex:0 0 320px !important;
  max-width:320px !important;
}

.fpuf-single .fpuf-single__portrait{
  width:100% !important;
  height:auto !important;
  display:block !important;
}

.fpuf-single .fpuf-single__right{
  flex:1 1 auto !important;
  min-width:0 !important;
}

/* Mobile */
@media (max-width: 900px){
  .fpuf-single .fpuf-single__top{flex-direction:column !important;}
  .fpuf-single .fpuf-single__left{max-width:360px !important;}
}


.fpuf-single__banner img{
  width:100% !important;
  height:auto !important;
  display:block !important;
}


/* === Bannière série : large mais avec marges === */
.fpuf-single__banner{
  position: relative;
  width: calc(100vw - 80px);   /* 40px de marge de chaque côté */
  margin-left: calc(50% - (100vw - 80px) / 2);
  margin-right: calc(50% - (100vw - 80px) / 2);
  margin-top: 40px;
}

.fpuf-single__banner img{
  width: 100%;
  height: auto;
  display: block;
}


.fpuf-single__socials{
  margin-top: 12px;
  display: flex;
  gap: 8px;
}

/* === Couleur icônes réseaux – page participant === */
.fpuf-single{
  --fpuf-social-color: #e05a00; /* ← change ici la couleur */
}
.fpuf-single__socials .fpuf-ico,
.fpuf-single__socials .fpuf-ico .dashicons{
  color: var(--fpuf-social-color);
}

.fpuf-single{
  --fpuf-social-color-hover: #000000;
}

.fpuf-single__socials .fpuf-ico:hover,
.fpuf-single__socials .fpuf-ico:hover .dashicons{
  color: var(--fpuf-social-color-hover);
}


.fpuf-single__socials .fpuf-ico{
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.45);
  border-radius: 2px;
  color: #fff;
}

.fpuf-single__socials .fpuf-ico:hover{
  background: rgba(0,0,0,.65);
}

.fpuf-ico{
  color: var(--fpuf-ico-color, #000); /* fallback noir */
  font-size: 35px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.fpuf-card__right .fpuf-ico:hover{
  background-color: var(--fpuf-ico-bg-hover);
}

/* Prix */
.fpuf-single__prix{
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 6px 0 10px 0;
  font-weight: 600;
}

.fpuf-single__prix .dashicons{
  font-size: 20px;
  width: 20px;
  height: 20px;
  line-height: 1;
}
.fpuf-single__prix{
  color: #e05a00; /* or */
}

.fpuf-single__prix{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin: 6px 0 12px 0;
}

.fpuf-single__prix .dashicons{
  font-size: 35px;
  width: 22px;
  height: 22px;
  line-height: 1;
}

.fpuf-single__prix-list{
  margin: 0;
  padding-left: 18px;
}
.fpuf-single__prix-list li{
  margin: 0 0 4px 0;
}
.fpuf-card__award{
  position:absolute;
  top:0px;          /* plus haut */
  right:0px;        /* plus à droite */
  z-index:2;        /* au-dessus de tout (mais pas du menu ! c'etait le cas avec 5) */
  pointer-events:none; /* évite les conflits de clic */
  background-color: white;
  padding: 3px;
}

.fpuf-card__award .dashicons{
  font-size: 42px !important;
  width: 42px;
  height: 42px;
  color: var(--fpuf-award-color, #e6b800); /* or par défaut */
  display:block;
  line-height:1;
}
.fpuf-grid{ --fpuf-award-color: #e05a00; }


/* Espacement des icônes sous le portrait */
.fpuf-single__socials{
  gap: 22px !important; /* augmente / diminue à ton goût */
}
/* Ou ça si je vais faire plus fin 
.fpuf-single__socials .fpuf-ico{
  margin-right: 18px;
}

.fpuf-single__socials .fpuf-ico:last-child{
  margin-right: 0;
}*/
@media (max-width: 768px){
  .fpuf-single__socials{
    gap: 14px;
  }
}

/* Force la couleur des icônes réseaux sur la page participant */
.fpuf-single__socials .fpuf-ico{
  background: transparent !important;                 /* enlève le fond */
  color: var(--fpuf-social-color) !important;         /* couleur du lien */
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
}

.fpuf-single__socials .fpuf-ico .dashicons{
  color: var(--fpuf-social-color) !important;         /* couleur de l'icône */
}
.fpuf-single__socials .fpuf-ico:hover,
.fpuf-single__socials .fpuf-ico:hover .dashicons{
  color: var(--fpuf-social-color-hover) !important;
}

/* Line-height prix (page participant) */
.fpuf-single .fpuf-single__prix-list li{
  line-height: -0.75 !important;
  margin-bottom: -6px !important;
}

/* Catégorie photo */
.fpuf-single__category{
  font-weight: 500;
  margin-bottom: 20px;
}

/* Bloc série */
.fpuf-single__serie{
  margin-bottom: 25px; /* espace avant la description */
}

/* Label "Série exposée :" */
.fpuf-single__serie-label{
  font-weight: 600;
  margin-right: 6px;
}

/* Nom de la série */
.fpuf-single__serie-title{
  font-style: italic; /* exemple */
}
/* Enlever les puces sur la liste des prix */
.fpuf-single .fpuf-single__prix-list{
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}
