/* ============================================================
   CSS Actualités (home.php)
============================================================ */

.actualites-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 520px;
  background-size: cover;
  background-position: center;
  color: white;
}

.actualites-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.60);
}

.actualites-hero__content {
  position: relative;
  padding: 10px;
  max-width: 800px;
  text-align: center;
}

.actualites-hero__content h1 {
  font-size: var(--global-kb-font-size-xxl, 4rem);
  line-height: 1.1;
  text-transform: uppercase;
}

/* ==========================
   FILTRES CATÉGORIES
========================== */

.category-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 2.3125rem; /* 37px */
  margin-bottom: 4rem;
  margin-top: 1rem;
}

.category-filters a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border-radius: 999px;
  border: 1px solid var(--global-palette5);
  background: transparent;
  color: var(--global-palette5);
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  line-height: 1;
  cursor: pointer;

  transition:
    color .25s ease,
    border-color .25s ease,
    background-color .25s ease;
}

.category-filters a:hover {
  color: var(--global-palette4);
  border-color: var(--global-palette4);
  background: var(--global-palette9);
}

.category-filters a.is-active {
  background: var(--global-palette1);
  border-color: var(--global-palette1);
  color: var(--global-palette4);
}

.category-filters a.is-active:hover {
  background: var(--global-palette1);
  border-color: var(--global-palette1);
  color: var(--global-palette4);
}

@media (max-width: 768px) {
  .category-filters {
    gap: 1rem;
  }

  .category-filters a {
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
  }
}

/* ==========================
   ARTICLE À LA UNE
========================== */

.featured-post {
  display: grid;
  grid-template-columns: 55% 45%;
  max-width: 1200px;
  margin: 4rem auto;
  background: var(--global-palette4);
  border-radius: 18px;
  overflow: hidden;
  min-height: 450px;
}

.featured-post__image {
  height: 100%;
}

.featured-post__image a {
  display: block;
  height: 100%;
}

.featured-post__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.featured-post__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3rem;
}

.featured-post__content p {
  color: var(--global-palette9);
}

.featured-post__badge {
  display: inline-block;
  background: var(--global-palette1);
  color: var(--global-palette4);
  padding: 0.6rem 1rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  font-size: .8rem;
  line-height: 1;
}

.featured-post__title {
  margin: 0 0 1rem;
  line-height: 1.1;
}

.featured-post__title a {
  text-decoration: none;
  transition: color .25s ease;
  color: var(--global-palette9);
}

.featured-post__title a:hover {
  color: var(--global-palette1);
}

.featured-post__title .text-highlight {
  color: var(--global-palette1);
}

.featured-post__excerpt {
  color: var(--global-palette9);
  opacity: .9;
  margin-bottom: 1.5rem;
}

.featured-post__link {
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 600;
}

@media (max-width: 1024px) {
  .featured-post {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .featured-post__image {
    min-height: 320px;
  }
}

@media (max-width: 768px) {
  .featured-post {
    border-radius: 8px;
  }

  .featured-post__image {
    min-height: 240px;
  }

  .featured-post__content {
    padding: 2rem 1.5rem;
  }

  .featured-post__title {
    font-size: clamp(1.5rem, 5vw, 2rem);
  }
}

.badge {
  background: var(--global-palette1);
  padding: .3rem .7rem;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px;
}

/* ==========================
   GRILLE D'ARTICLES
========================== */

.posts-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.post-card {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.06);
}

.post-card__image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  background: #d9d9d9; /* placeholder tant que l'image ne charge pas */
}

.post-card__content {
  padding: 1.5rem;
}

.post-card__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.post-card__date {
  font-size: .8rem;
  opacity: .6;
  text-transform: uppercase;
}

.post-card__category {
  display: inline-block;
  text-transform: uppercase;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .05em;
  padding: .3rem .8rem;
  border-radius: 999px;
  background: var(--global-palette1);
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
}

.post-card__category.cat-ventilation     { 
	background: #ffebd0;
    color: #f5720d;
}

.post-card__category.cat-hygiene     { 
	background: #ffcccc;
    color: #f50d72;
}

.post-card__category.cat-securite      { 
	background: #d0e9ff;
    color: #0da4f5;
}

.post-card__category.cat-tunnel      { 
	background: #ffd0fb;
    color: #de0df5;
}

.post-card__category.cat-mine      { 
	background: #dfffd0;
    color: #0df54e;
}
.post-card__category.cat-actualites    { background: #E63946; }

.post-card__title {
  margin: 0 0 .75rem;
  line-height: 1.2;
}

.post-card__title a {
  text-decoration: none;
  color: var(--global-palette4);
  transition: color .25s ease;
}

.post-card__title a:hover {
  color: var(--global-palette1);
}

.post-card__excerpt {
  opacity: .85;
  margin-bottom: 1.25rem;
}

.post-card__link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  text-transform: uppercase;
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: .05em;
  text-decoration: none;
  color: var(--global-palette4);
  transition: color .25s ease, gap .2s ease;
}

.post-card__link:hover {
  color: var(--global-palette1);
  gap: .6rem;
}

@media (max-width: 768px) {
  .posts-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================
   AJAX : état de chargement
========================== */

#actualites-ajax-container {
  transition: opacity .2s ease;
}

#actualites-ajax-container.is-loading {
  opacity: .4;
  pointer-events: none;
}

.no-posts {
  grid-column: 1 / -1;
  text-align: center;
  opacity: .7;
  padding: 3rem 0;
}

/* ==========================
   PAGINATION AJAX
========================== */

.pagination__list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  gap: .5rem;
  padding: 0;
  margin: 3rem 0 0;
  justify-content: center;
}

.pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 .5rem;
  border: 1px solid var(--global-palette7);
  color: var(--global-palette7);
  text-decoration: none;
  font-weight: 600;
  transition:
    color .25s ease,
    border-color .25s ease,
    background-color .25s ease;
}

.pagination__link:hover {
  color: var(--global-palette4);
  border-color: var(--global-palette4);
}

.pagination__link.is-active {
  background: var(--global-palette1);
  border-color: var(--global-palette1);
  color: var(--global-palette4);
  cursor: default;
}