/**
 * Mediafolio — CSS public minimal
 *
 * Principe : le plugin fournit uniquement le structurel indispensable.
 * Toute décision visuelle (couleurs, TYPOGRAPHIE — famille, taille, graisse,
 * casse, espacement de lettres — et emphase par opacité) appartient au thème
 * actif. Ce fichier ne contient donc AUCUN réglage de typographie de contenu :
 * le thème est seul maître. Seul subsiste le structurel (grille, flex, marges,
 * positions) et le fonctionnel (états de chargement, chrome de la lightbox).
 *
 * @version 2.3.2
 */

/* ==========================================================================
   Grille d'archive
   CSS Grid moderne — compatible tous thèmes y compris FSE (Twenty Twenty-Five+).
   Aucune dépendance au body, aucun float, aucune classe first/last.
   ========================================================================== */

.projects ul.projects {
  display: grid;
  grid-template-columns: repeat( 2, 1fr );
  gap: 2em;
  list-style: none;
  margin: 0;
  padding: 0; }

/* Variantes de colonnes */
.projects.columns-1 ul.projects { grid-template-columns: 1fr; }
.projects.columns-2 ul.projects { grid-template-columns: repeat( 2, 1fr ); }
.projects.columns-3 ul.projects { grid-template-columns: repeat( 3, 1fr ); }
.projects.columns-4 ul.projects { grid-template-columns: repeat( 4, 1fr ); }
.projects.columns-5 ul.projects { grid-template-columns: repeat( 5, 1fr ); }
.projects.columns-6 ul.projects { grid-template-columns: repeat( 6, 1fr ); }

/* Cellule individuelle */
.projects ul.projects li.project {
  margin: 0;
  padding: 0; }

/* Image dans la grille */
.projects ul.projects li.project img {
  display: block;
  max-width: 100%;
  height: auto; }

/* Lien sans décoration */
.projects ul.projects li.project a {
  text-decoration: none; }

/* Responsive : 1 colonne en dessous de 600px */
@media ( max-width: 600px ) {
  .projects ul.projects {
    grid-template-columns: 1fr; } }


/* ==========================================================================
   Fiche projet individuelle — structurel minimal
   La mise en page (colonnes, espacements) appartient au thème.
   ========================================================================== */

/* Image pleine largeur dans son conteneur */
.single-project img {
  max-width: 100%;
  height: auto;
  display: block; }

/* Suppression des puces sur les listes de meta */
.single-project .project-meta ul,
.single-project .project-meta li {
  list-style: none;
  margin-left: 0;
  padding-left: 0; }

/* Featured image pleine largeur, sans marge parasite */
.single-project .single-featured {
  margin: 0 0 1.5em;
  line-height: 0; }

  .single-project .single-featured img {
    width: 100%;
    height: auto;
    display: block; }

/* Galerie en grille 3 colonnes */
.single-project .project-gallery {
  display: grid;
  grid-template-columns: repeat( 3, 1fr );
  gap: 0.5em;
  margin: 1.5em 0; }

  .single-project .project-gallery a,
  .single-project .project-gallery img {
    display: block;
    width: 100%;
    height: 200px;
    object-fit: cover; }

  @media ( max-width: 600px ) {
    .single-project .project-gallery {
      grid-template-columns: repeat( 2, 1fr ); } }

/* Pagination entre projets — structure uniquement (typo gérée par le thème) */
.projects-single-pagination {
  display: flex;
  justify-content: space-between;
  gap: 2em;
  margin: 3em 0 0;
  padding-top: 1.5em;
  border-top: 1px solid currentColor; }

  .projects-single-pagination-prev,
  .projects-single-pagination-next {
    flex: 1; }

  .projects-single-pagination-next {
    text-align: right; }

  .projects-single-pagination a {
    display: flex;
    flex-direction: column;
    gap: 0.25em;
    text-decoration: none; }

/* Metadata : liste de définitions label/valeur — structure uniquement */
.project-meta dl.meta-fields {
  margin: 0;
  padding: 0; }

.project-meta dl.meta-fields .meta-field {
  margin-bottom: 0.75em; }

.project-meta dl.meta-fields dt.meta-field-label {
  margin: 0 0 0.15em; }

.project-meta dl.meta-fields dd.meta-field-value {
  margin: 0;
  padding: 0; }


/* ==========================================================================
   Lightbox — chrome fonctionnel du plugin (conservé)
   ========================================================================== */

.mediafolio-lightbox {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100000;
  background: rgba( 0, 0, 0, 0.85 );
  align-items: center;
  justify-content: center; }

  .mediafolio-lightbox.is-open {
    display: flex; }

  .mediafolio-lightbox-image {
    max-width: 90vw;
    max-height: 90vh;
    display: block; }

  .mediafolio-lightbox-close,
  .mediafolio-lightbox-prev,
  .mediafolio-lightbox-next {
    position: absolute;
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    padding: 12px; }

  .mediafolio-lightbox-close {
    top: 16px;
    right: 16px; }

  .mediafolio-lightbox-prev {
    left: 16px;
    top: 50%;
    transform: translateY( -50% ); }

  .mediafolio-lightbox-next {
    right: 16px;
    top: 50%;
    transform: translateY( -50% ); }

body.mediafolio-lightbox-active {
  overflow: hidden; }


/* ==========================================================================
   Filtre de catégories — structure uniquement
   ========================================================================== */

.mediafolio-category-filter ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1.5em;
  margin: 0 0 1.5em;
  padding: 0;
  list-style: none; }

.mediafolio-category-filter-link {
  text-decoration: none; }

/* État de chargement (fonctionnel, conservé) */
.projects ul.projects.is-loading {
  opacity: 0.5;
  pointer-events: none; }

/**
 * Pagination d'archive — structure uniquement
 */
.projects-pagination {
  margin: 2em 0 0;
  list-style: none;
  padding: 0; }

.projects-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  gap: 0.25em;
  list-style: none;
  padding: 0;
  margin: 0; }

.projects-pagination li {
  display: inline;
  list-style: none;
  padding: 0;
  margin: 0; }

.projects-pagination a.page-numbers,
.projects-pagination span.page-numbers {
  display: inline-block;
  padding: 0.25em 0.6em;
  text-decoration: none; }

.projects-pagination .page-numbers.dots {
  padding: 0 0.25em; }
