/* --- Variables de couleurs pour la cohérence --- */
:root {
  -primary-dark: #00354c;
  -accent-blue: #025373;
  -accent-light: #0d7aa5;
  -text-gray: #69767d;
  -bg-card: #ffffff;
  -border-subtle: rgba(0, 53, 76, 0.06);
}

.kb_categories_wrap {
  margin: 60px 0 20px;
}

.kb_category_block {
  margin-bottom: 80px;
}

/* --- Titre de Catégorie --- */
.kb_category_title {
  position: relative;
  margin: 0 0 26px;
  padding-left: 18px;
  font-family: "PowerGrotesk";
  font-size: 34px;
  line-height: 1.1;
  color: #00354c;
}

.kb_category_title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  bottom: 5px;
  width: 5px;
  border-radius: 999px;
  background: linear-gradient(180deg, #025373, #0d7aa5);
}

/* --- Grille --- */
.kb_category_block .row {
  row-gap: 32px;
}

/* --- Carte Produit (Item) --- */
.kb_category_block .item_produits_home {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 20px;
  border: 1px solid var(--border-subtle);
  border-radius: 24px;
  background: var(--bg-card);
  box-shadow: 0 10px 30px rgba(0, 53, 76, 0.04);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  overflow: hidden;
}

/* Ligne colorée discrète en haut */
.kb_category_block .item_produits_home::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--accent-blue), var(--accent-light));
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

/* --- Image avec effet de zoom --- */
.kb_img_wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 16px;
  margin-bottom: 22px;
overflow: visible;
    background-color: rgba(0, 0, 0, 0.6);
}

.kb_category_block .item_produits_home img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.8;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}


/* --- Contenu Texte --- */
.kb_category_block .item_produits_home h3 {
  margin: 0 0 12px;
  min-height: 0px; /* Assure l'alignement si 2 lignes */
}

.kb_category_block .item_produits_home h3 a {
  font-family: "MarkBold", sans-serif;
  font-size: 50px;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.3s ease;
}

.kb_excerpt {
  flex-grow: 1;
  font-family: "MarkPro", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: var(--text-gray);
  margin-bottom: 20px;
}

/* --- Bouton Lire le Guide --- */
.kb_read_more {
  display: inline-flex;
  align-items: center;
  font-family: "MarkBold", sans-serif;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--accent-blue);
  text-decoration: none;
  gap: 8px;
  transition: gap 0.3s ease;
}

.kb_read_more svg {
  width: 18px;
  height: 18px;
  transition: transform 0.3s ease;
}

/* --- États Hover (Survol) --- */
.kb_category_block .item_produits_home:hover {
  transform: translateY(-8px);
  border-color: rgba(2, 83, 115, 0.15);
  box-shadow: 0 20px 40px rgba(0, 53, 76, 0.08);
}

.kb_category_block .item_produits_home:hover img {
  transform: scale(1.08);
}

.kb_category_block .item_produits_home:hover h3 a {
  color: white;
}

.kb_category_block .item_produits_home:hover .kb_read_more {
  gap: 12px;
}

.kb_category_block .item_produits_home:hover .kb_read_more svg {
  transform: translateX(3px);
}

/* --- Responsive --- */
@media (max-width: 991px) {
  .kb_category_title { font-size: 28px; }
  .kb_category_block .item_produits_home h3 a { font-size: 19px; }
}

@media (max-width: 575px) {
  .kb_category_block .item_produits_home { padding: 16px; }
  .kb_category_title { font-size: 24px; margin-bottom: 25px; }
}