/* ============================================================
   Actualités Page — G.S. Le Serval
   ============================================================ */

/* ── Page Header ─────────────────────────────────────────── */
.page-header-actu {
  background-image: url('../images/ecole/_ALI6298.jpg');
  background-size: cover; background-position: center;
  padding: 9rem 0 4rem; position: relative;
}
.page-header-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(10,40,18,0.88), rgba(15,70,30,0.72));
}
.page-header-title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900; color: var(--blanc); margin-bottom: 0.8rem;
}
.breadcrumb-item a { color: var(--or2); text-decoration: none; font-size: 0.9rem; }
.breadcrumb-item.active { color: rgba(255,255,255,0.7); font-size: 0.9rem; }
.breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.4); }

/* ── Article à la une ────────────────────────────────────── */
.une-card {
  border-radius: 24px; overflow: hidden;
  box-shadow: 0 16px 50px rgba(0,0,0,0.12);
  background: var(--blanc);
  border: 1px solid rgba(15,70,30,0.08);
}

.une-swiper { height: 100%; min-height: 420px; }
.une-swiper .swiper-slide img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  display: block; min-height: 420px;
}
.une-pagination { bottom: 1rem !important; }
.une-pagination .swiper-pagination-bullet {
  background: rgba(255,255,255,0.6); opacity: 1;
}
.une-pagination .swiper-pagination-bullet-active {
  background: var(--or2); width: 24px; border-radius: 4px;
}

.une-body {
  padding: 2.5rem;
  display: flex; flex-direction: column; justify-content: center;
  height: 100%;
}
.une-category {
  background: var(--vert); color: var(--blanc);
  padding: 0.25rem 0.8rem; border-radius: 20px;
  font-size: 0.78rem; font-weight: 700;
}
.une-date {
  color: var(--or); font-size: 0.82rem; font-weight: 600;
}
.une-body h2 {
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  font-weight: 800; color: var(--vert);
  line-height: 1.3; margin-bottom: 1rem;
}
.une-body p {
  font-size: 0.9rem; color: #666; line-height: 1.7;
  margin-bottom: 0.8rem;
}

/* Palmarès */
.palmares { margin: 1.2rem 0; }
.palmares-item {
  display: flex; align-items: center; gap: 1rem;
  padding: 0.8rem 1rem; border-radius: 12px;
  margin-bottom: 0.6rem;
}
.palmares-item.or     { background: rgba(200,155,0,0.1); border-left: 4px solid #c89b00; }
.palmares-item.argent { background: rgba(180,180,190,0.15); border-left: 4px solid #b4b4be; }
.palmares-item.bronze { background: rgba(46,160,70,0.08); border-left: 4px solid var(--vert3); }
.medaille { font-size: 1.6rem; min-width: 2rem; }
.palmares-item strong { display: block; font-weight: 700; color: var(--vert); font-size: 0.88rem; }
.palmares-item span   { font-size: 0.82rem; color: #666; }

.une-citation {
  background: var(--vert-clair); border-left: 4px solid var(--vert3);
  border-radius: 0 12px 12px 0; padding: 1rem 1.2rem;
  font-style: italic; font-size: 0.86rem; color: #555;
  margin-top: 1rem; line-height: 1.7;
}
.une-citation i { color: var(--or); font-size: 1.2rem; margin-right: 0.3rem; }
.une-citation cite {
  display: block; font-style: normal;
  font-weight: 700; color: var(--vert2);
  font-size: 0.82rem; margin-top: 0.4rem;
}

/* ── Filtres ─────────────────────────────────────────────── */
.actu-filters { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.6rem; }
.filter-btn {
  padding: 0.5rem 1.4rem; border-radius: 25px;
  border: 2px solid var(--vert3); background: transparent;
  color: var(--vert2); font-weight: 600; font-size: 0.88rem;
  cursor: pointer; transition: all 0.25s; font-family: var(--font);
}
.filter-btn:hover, .filter-btn.active {
  background: var(--vert); color: var(--blanc); border-color: var(--vert);
}

/* ── Cartes actualités ───────────────────────────────────── */
.actu-card-full {
  border-radius: 18px; overflow: hidden;
  box-shadow: 0 6px 24px rgba(0,0,0,0.08);
  background: var(--blanc); height: 100%;
  display: flex; flex-direction: column;
  transition: all 0.3s;
}
.actu-card-full:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(15,70,30,0.14);
}
.actu-img-wrap {
  position: relative; height: 220px; overflow: hidden;
}
.actu-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  transition: transform 0.5s; display: block;
}
.actu-card-full:hover .actu-img-wrap img { transform: scale(1.06); }

.placeholder-img {
  background: linear-gradient(135deg, var(--vert-clair), rgba(200,155,0,0.08));
  display: flex; align-items: center; justify-content: center;
  font-size: 4.5rem;
}

.actu-tag {
  position: absolute; top: 1rem; left: 1rem;
  padding: 0.25rem 0.8rem; border-radius: 20px;
  font-size: 0.75rem; font-weight: 700; color: var(--blanc);
}
.actu-tag.competition { background: var(--vert); }
.actu-tag.ceremonie   { background: #8e24aa; }
.actu-tag.examens     { background: #1565c0; }
.actu-tag.info        { background: var(--or); color: var(--vert); }

.actu-card-body { padding: 1.4rem; flex: 1; display: flex; flex-direction: column; }
.actu-meta { font-size: 0.78rem; color: var(--or); font-weight: 600; margin-bottom: 0.6rem; }
.actu-card-body h5 {
  font-weight: 700; color: var(--vert);
  font-size: 1rem; line-height: 1.4; margin-bottom: 0.6rem;
}
.actu-card-body p {
  font-size: 0.86rem; color: #666; line-height: 1.6;
  flex: 1; margin-bottom: 1rem;
}
.actu-read-more {
  color: var(--vert2); font-weight: 600; font-size: 0.85rem;
  text-decoration: none; display: inline-flex; align-items: center; gap: 0.3rem;
  transition: all 0.2s;
}
.actu-read-more:hover { color: var(--or); gap: 0.6rem; }
.actu-item.hidden { display: none; }

/* ── Galerie ─────────────────────────────────────────────── */
.galerie-filters { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.6rem; }
.galerie-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
}
.galerie-item {
  position: relative; border-radius: 12px;
  overflow: hidden; aspect-ratio: 1/1; display: block; cursor: pointer;
}
.galerie-item img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.45s; display: block;
}
.galerie-item:hover img { transform: scale(1.08); }
.galerie-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(15,70,30,0.8), rgba(0,0,0,0.15));
  opacity: 0; transition: opacity 0.3s;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 0.4rem;
}
.galerie-overlay i { font-size: 2rem; color: var(--blanc); }
.galerie-overlay span { color: var(--or2); font-size: 0.82rem; font-weight: 600; }
.galerie-item:hover .galerie-overlay { opacity: 1; }
.galerie-item.hidden { display: none; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
  .une-swiper, .une-swiper .swiper-slide img { min-height: 260px; }
  .une-body { padding: 1.5rem; }
  .galerie-grid { grid-template-columns: repeat(2, 1fr); }
}
