.pub-section {
  padding: 30px 15px; /* padding réduit sur mobile */
  background: #f7f7f7;
}

/* Bannière horizontale */
.pub-banner.horizontal img {
  width: 100%;
  max-height: 120px;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 3px 12px rgba(0,0,0,0.1);
}

/* Grille de pubs */
.pub-grid {
  margin-top: 25px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}

.pub-box {
  background: #fff;
  padding: 15px;
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.08);
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pub-box:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.pub-box h4 {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 600;
}

.pub-box img, 
.pub-box video {
  width: 100%;
  border-radius: 10px;
  object-fit: cover;
}

/* Pour les pubs verticales */
.pub-box.vertical img {
  height: 380px;
}

/* ================= CARROUSEL ================= */
.pub-carousel {
  overflow: hidden;
  margin-top: 30px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 14px rgba(0,0,0,0.08);
}

.pub-carousel .carousel-track {
  display: flex;
  gap: 15px; /* espace entre les images */
  animation: slide 20s linear infinite;
}

.pub-carousel img {
  width: 350px;
  height: 120px;
  object-fit: cover;
  border-radius: 10px;
  flex-shrink: 0; /* éviter que les images se réduisent */
}

/* Animation carrousel */
@keyframes slide {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); } /* ajusté pour répétition fluide */
}

/* ================= RESPONSIVE ================= */
@media(max-width: 992px) {
  .pub-carousel img {
    width: 280px;
    height: 100px;
  }
}

@media(max-width: 768px) {
  .pub-section {
    padding: 20px 10px;
  }

  .pub-box.vertical img {
    height: 260px;
  }

  .pub-carousel img {
    width: 200px;
    height: 80px;
  }

  .pub-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
  }
}

@media(max-width: 500px) {
  .pub-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .pub-carousel img {
    width: 160px;
    height: 70px;
  }
}
