/* =========================================================
   FWP — Annuaire Photographes + Séries
   - Responsive
   - Mini-grid "bootstrap-like" (préfixée fwp-)
   - Hero photographe full-bleed à gauche (desktop)
   - Image hero entière (jamais crop)
   ========================================================= */

/* ===============
   DIRECTORY GRID
   =============== */
.fwp-directory{
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 16px;
}

.fwp-initials{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin: 0 0 18px;
}

.fwp-chip{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border:1px solid rgba(0,0,0,.15);
  border-radius: 0;
  text-decoration:none;
  font-size:14px;
}

.fwp-chip.is-active{
  border-color: rgba(0,0,0,.45);
  font-weight:600;
}

.fwp-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 1024px){ .fwp-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px){ .fwp-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px){ .fwp-grid{ grid-template-columns: 1fr; } }

.fwp-card{ text-align:center; }
.fwp-card__media{ display:block; }
.fwp-card__title{ margin: 10px 0 0; font-size: 16px; line-height:1.2; }
.fwp-card__title a{ text-decoration:none; }

.fwp-portrait{
  width:240px;
  height:auto;
  object-fit:cover;
  max-width:100%;
  filter: grayscale(100%);
  border-radius: 0;
  margin-top: 77px;
}

.fwp-portrait--placeholder{
  width:240px;
  height:240px;
  border-radius:0;
  background: rgba(0,0,0,.08);
  margin:0 auto;
}


.fwp-loader{ text-align:center; padding: 14px 0; opacity:.7; }
.fwp-empty{ opacity:.75; }

/* =========================================================
   MINI GRID (bootstrap-like, sans dépendance)
   ========================================================= */
.fwp-container{ max-width:1200px; margin:0 auto; padding:24px 16px; }

.fwp-row{ display:flex; flex-wrap:wrap; margin-left:-12px; margin-right:-12px; }
.fwp-row > [class*="fwp-col-"]{ padding-left:30px; padding-right:12px; box-sizing:border-box; }

.fwp-col-12{ flex:0 0 100%; max-width:100%; }
.fwp-col-6{ flex:0 0 50%; max-width:50%; }
.fwp-col-4{ flex:0 0 33.3333%; max-width:33.3333%; }
.fwp-col-8{ flex:0 0 66.6666%; max-width:66.6666%; }

@media (max-width: 900px){
  .fwp-col-6, .fwp-col-4, .fwp-col-8{ flex:0 0 100%; max-width:100%; }
}

/* ===============
   SINGLE (base)
   =============== */
.fwp-single{
  padding: 0; /* le padding est sur .fwp-container */
}

/* =========================================================
   SINGLE PHOTOGRAPHER — HERO (Option 1)
   ========================================================= */
.single-fwp_photographer .fwp-hero{
  margin-bottom: 10px;
}

/* Evite que le thème coupe le full-bleed */
.single-fwp_photographer .site-content,
.single-fwp_photographer #content,
.single-fwp_photographer .content-area,
.single-fwp_photographer .container,
.single-fwp_photographer .vc_row,
.single-fwp_photographer .wpb_wrapper{
  overflow: visible !important;
}

/* Desktop: full-bleed à gauche sur 50vw */
@media (min-width: 901px){
  .single-fwp_photographer .fwp-hero-left{
    width: 50vw;
    max-width: 50vw;
    margin-left: calc(100% - 50vw);
  }
}

/* ✅ Image héro : toujours entière, jamais rognée */
.single-fwp_photographer .fwp-hero-left img.fwp-hero__img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit: contain !important;
  object-position: center center !important;
  max-height: clamp(420px, 62vh, 720px) !important;
  border-radius: 0;
}

.fwp-name{ margin: 0 0 14px; }
.fwp-name__first{ font-size: 28px; font-weight: 200; opacity: .9; }
.fwp-name__last{ font-size: 34px; font-weight: 400; letter-spacing: .5px; }




.single-fwp_photographer .fwp-hero{
  max-width: 100%;
}

/* Colonne de droite (Nom + bio) */
.single-fwp_photographer .fwp-hero .fwp-col-6:last-child{
  max-width: 720px;
  /*margin-left: 25px;*/
  padding-right: 5vw;
}

h1, .fwp-name__last {
    line-height: 0.7 !important;
}


.fwp-bio {
    margin-top: 30px;
    text-align: justify;
}

/* =========================================================
   SINGLE PHOTOGRAPHER FULL WIDTH
   ========================================================= */
.single-fwp_photographer .fwp-container{
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}



/* =========================================================
   SINGLE PHOTOGRAPHER — PROFIL
   ========================================================= */
.single-fwp_photographer .fwp-profile-row{
  margin-top: 26px;
  align-items: start;
}

.single-fwp_photographer .fwp-profile__portrait{
  text-align: right;
}

.single-fwp_photographer .fwp-profile__infos .fwp-info{
  margin-bottom: 12px;
}

.fwp-profile__infos{
    text-align: right;
}

.fwp-section-title{ margin: 36px 0 16px; font-size: 22px; }

/* =========================================================
   SINGLE PHOTOGRAPHER — SERIES GRID
   ========================================================= */
.fwp-series-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 20px;
}
@media (max-width: 1024px){ .fwp-series-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px){ .fwp-series-grid{ grid-template-columns: 1fr; } }

.fwp-series-card__img{
  width:235px;
  height:156px;
  object-fit:cover;
  border-radius: 0;
}
.fwp-series-card__img--placeholder{
  background: rgba(0,0,0,.08);
  width:100%;
  height:232px;
  border-radius:0;
}
.fwp-series-card__title{ margin: 10px 0 6px; font-size: 18px; }
.fwp-series-card__excerpt{ opacity:.9; }

.fwp-series{margin-left: 65px; margin-right: 40px; margin-bottom: 100px;}


/* =========================================================
   SINGLE PHOTOGRAPHER Profil + SERIES GRID
   ========================================================= */

/* Layout 1/4 - 3/4 pour profil vs séries */
.single-fwp_photographer .fwp-photographer-layout{
  margin-top: 26px;
  align-items: flex-start;
}

/* Desktop: force 25% / 75% */
@media (min-width: 901px){
  .single-fwp_photographer .fwp-photographer-layout .fwp-side{
    flex: 0 0 25%;
    max-width: 25%;
  }
  .single-fwp_photographer .fwp-photographer-layout .fwp-main{
    flex: 0 0 75%;
    max-width: 75%;
  }
}

/* Colonne gauche : portrait au-dessus des infos */
.single-fwp_photographer .fwp-profile{
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.single-fwp_photographer .fwp-profile__portrait{
  text-align: right;
}







/* =========================================================
   SINGLE SERIES
   ========================================================= */
.fwp-series-header{ margin-bottom: 22px; }
.fwp-series-title{ margin: 0 0 8px; font-size: 34px; }
.fwp-series-author{ margin-bottom: 12px; opacity:.85; }

.fwp-series-intro__cols{
  column-count: 2;
  column-gap: 26px;
}
@media (max-width: 900px){
  .fwp-series-intro__cols{ column-count: 1; }
}

/* Masonry type agencevu (CSS columns) */
.fwp-masonry{ column-count: 3; column-gap: 18px; }
@media (max-width: 1024px){ .fwp-masonry{ column-count: 2; } }
@media (max-width: 560px){ .fwp-masonry{ column-count: 1; } }

.fwp-masonry__item{ break-inside: avoid; margin: 0 0 18px; }
.fwp-masonry__img{ width:100%; height:auto; display:block; border-radius: 0; }
