body {scroll-behavior:smooth;font-family:'Poppins',sans-serif;}
.banner {background-image:url('img/creations/p8.jpg?auto=format&fit=crop&w=1920&q=80');background-size:cover;background-position:center;background-attachment:fixed;}
.menu-bg {backdrop-filter:blur(10px);background-color:rgba(255,255,255,0.6);}
.fade-in {opacity:0;transform:translateY(40px);transition:all 1s ease-out;}
.fade-in.show {opacity:1;transform:translateY(0);}
.rrr{
  color: #993300 !important;
}
.rrr2{
  color: #ff6600 !important;
  font-weight: bold;
}

/* début titre */
/* Section du titre principal */
.entete {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 0;
  background: linear-gradient(135deg, #f8f3eb, #fff7e6);
}


.titre-logo {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: "Poppins", "Segoe UI", sans-serif;
  /* font-size: 2.4rem; */
  color: #3a2e1f;
  letter-spacing: 1px;
}


.titre-logo .logo {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  object-fit: cover;
}


.titre-logo strong {
  color: #b45f06;
  font-weight: 700;
}


/* fin titre*/



.gallery-table {
      width: 100%;
      max-width: 900px;
      margin: 20px auto;
      border-collapse: collapse;
      table-layout: fixed; /* répartit uniformément les colonnes */
    }

.gallery-table td {
      padding: 8px;
      vertical-align: top;
      text-align: center;
      border: 1px solid #e2e2e2;
      background: #fafafa;
    }

    /* Figure et légende */
    figure {
      margin: 0;
    }

    figcaption {
      font-size: 0.9rem;
      margin-top: 6px;
      color: #555;
    }

    /* images réactives */
.gallery-table img {
      max-width: 100%;
      height: auto;
      display: block;
      margin-left: auto;
      margin-right: auto;
      border-radius: 6px;
    }

    /* option responsive : sur petits écrans, empiler en une colonne : pause pb sur affichage*/
    @media (max-width: 480px) {
      .gallery-table,
      .gallery-table tbody,
      .gallery-table tr,
      .gallery-table td {
        /* display: block; */
        width: 100%;
      }
      .gallery-table td {
        margin-bottom: 12px;
      }
    }


 /* galerie */
    /* body { */
      /* margin: 0; */
      /* font-family: 'Georgia', serif; */
      /* // background-color: #111; */
      /* color: #fff; */
      /* display: flex; */
      /* flex-direction: column; */
      /* align-items: center; */
      /* min-height: 100vh; */
      /* overflow-x: hidden; */
    /* } */

    h1 {
      margin-top: 40px;
      font-size: 2.5em;
      color: #f5f5f5;
      text-align: center;
      letter-spacing: 1px;
    }

    /* --- Grille de miniatures --- */
    .gallery {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 15px;
      padding: 40px;
      width: 90%;
      max-width: 1200px;
    }

    .gallery img {
      width: 100%;
      height: 200px;
      object-fit: cover;
      border-radius: 12px;
      cursor: pointer;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .gallery img:hover {
      transform: scale(1.05);
      box-shadow: 0 8px 25px rgba(255, 255, 255, 0.2);
    }

    /* --- Lightbox (affichage plein écran) --- */
    .lightbox {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: rgba(0, 0, 0, 0.9);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity 1s ease;
    }

    .lightbox.active {
      opacity: 1;
      pointer-events: auto;
    }

    .lightbox img {
      max-width: 90%;
      max-height: 85%;
      border-radius: 16px;
      box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
      object-fit: contain;
      opacity: 0;
      transform: scale(0.95);
      transition: opacity 1.2s ease, transform 1.2s ease;
    }

    .lightbox img.show {
      opacity: 1;
      transform: scale(1);
    }

    .close-btn {
      position: absolute;
      top: 20px;
      right: 30px;
      font-size: 2em;
      color: white;
      cursor: pointer;
      user-select: none;
      transition: transform 0.3s;
    }

    .close-btn:hover {
      transform: scale(1.2);
    }

    .nav-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      font-size: 2.5em;
      color: white;
      cursor: pointer;
      user-select: none;
      transition: transform 0.3s, opacity 0.3s;
      opacity: 0.8;
    }

    .nav-btn:hover {
      transform: translateY(-50%) scale(1.1);
      opacity: 1;
    }

    .prev-btn { left: 30px; }
    .next-btn { right: 30px; }