.elementor-838 .elementor-element.elementor-element-e324215{--display:flex;}.elementor-838 .elementor-element.elementor-element-a2085d5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-posts .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-posts .elementor-post__meta-data{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .elementor-post__excerpt p{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-posts .elementor-post__read-more{color:var( --e-global-color-accent );}.elementor-widget-posts a.elementor-post__read-more{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__card .elementor-post__badge{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-838 .elementor-element.elementor-element-ef0f5dd{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-838 .elementor-element.elementor-element-ef0f5dd .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-838 .elementor-element.elementor-element-ef0f5dd:after{content:"0.66";}.elementor-838 .elementor-element.elementor-element-ef0f5dd .elementor-post__thumbnail__link{width:100%;}.elementor-838 .elementor-element.elementor-element-ef0f5dd.elementor-posts--thumbnail-left .elementor-post__thumbnail__link{margin-right:20px;}.elementor-838 .elementor-element.elementor-element-ef0f5dd.elementor-posts--thumbnail-right .elementor-post__thumbnail__link{margin-left:20px;}.elementor-838 .elementor-element.elementor-element-ef0f5dd.elementor-posts--thumbnail-top .elementor-post__thumbnail__link{margin-bottom:20px;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-838 .elementor-element.elementor-element-ef0f5dd .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-838 .elementor-element.elementor-element-ef0f5dd:after{content:"0.5";}.elementor-838 .elementor-element.elementor-element-ef0f5dd .elementor-post__thumbnail__link{width:100%;}}@media(min-width:768px){.elementor-838 .elementor-element.elementor-element-e324215{--width:100%;}}/* Start custom CSS for posts, class: .elementor-element-ef0f5dd *//* ============================================
   Driver and Mover — Widget Publications Elementor
   À coller dans : Elementor → Avancé → CSS personnalisé du widget
   OU dans : WordPress → Customizer → CSS additionnel
   ============================================ */

/* === Variables === */
:root {
  --dm-paper: #F7F4ED;
  --dm-white: #FFFFFF;
  --dm-vert: #1B3A5C;
  --dm-navy-dark: #0E2740;
  --dm-vert-soft: #E6EDF5;
  --dm-red: #C8102E;
  --dm-ink: #1F1F1F;
  --dm-grey: #6E6E6E;
  --dm-line: #E5E1D7;
  --dm-font: 'Inter Tight', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* === Grille des publications === */
.elementor-widget-posts .elementor-posts-container,
.elementor-widget-loop-grid .elementor-loop-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)) !important;
  gap: 1.5rem !important;
}
@media (max-width: 560px) {
  .elementor-widget-posts .elementor-posts-container,
  .elementor-widget-loop-grid .elementor-loop-container {
    grid-template-columns: 1fr !important;
  }
}

/* === Chaque carte article === */
.elementor-widget-posts .elementor-post,
.elementor-widget-loop-grid .elementor-post {
  background: var(--dm-white) !important;
  border: 1px solid var(--dm-line) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--dm-font) !important;
}
.elementor-widget-posts .elementor-post:hover,
.elementor-widget-loop-grid .elementor-post:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 18px 40px rgba(15, 15, 15, 0.08) !important;
  border-color: transparent !important;
}

/* === Image === */
.elementor-widget-posts .elementor-post__thumbnail,
.elementor-widget-posts .elementor-post__thumbnail__link,
.elementor-widget-loop-grid .elementor-post__thumbnail {
  margin: 0 !important;
  padding: 0 !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  background: #EFEAE0 !important;
  border-radius: 0 !important;
}
.elementor-widget-posts .elementor-post__thumbnail img,
.elementor-widget-loop-grid .elementor-post__thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
  border-radius: 0 !important;
}
.elementor-widget-posts .elementor-post:hover .elementor-post__thumbnail img,
.elementor-widget-loop-grid .elementor-post:hover .elementor-post__thumbnail img {
  transform: scale(1.05) !important;
}

/* === Bloc texte === */
.elementor-widget-posts .elementor-post__text,
.elementor-widget-posts .elementor-post__card,
.elementor-widget-loop-grid .elementor-post__text {
  padding: 1.4rem 1.5rem 1.6rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  background: transparent !important;
}

/* === Méta-données (date + catégorie) === */
.elementor-widget-posts .elementor-post__meta-data,
.elementor-widget-loop-grid .elementor-post__meta-data {
  display: flex !important;
  align-items: center !important;
  gap: 0.7rem !important;
  margin: 0 0 0.85rem 0 !important;
  padding: 0 !important;
  font-size: 0.72rem !important;
  border: none !important;
  color: var(--dm-grey) !important;
  font-family: var(--dm-font) !important;
}
.elementor-widget-posts .elementor-post-date,
.elementor-widget-loop-grid .elementor-post-date {
  color: var(--dm-grey) !important;
  font-weight: 500 !important;
  font-size: 0.72rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.elementor-widget-posts .elementor-post-categories,
.elementor-widget-posts .elementor-post-categories a,
.elementor-widget-loop-grid .elementor-post-categories,
.elementor-widget-loop-grid .elementor-post-categories a {
  background: var(--dm-vert-soft) !important;
  color: var(--dm-vert) !important;
  padding: 0.22rem 0.65rem !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
.elementor-widget-posts .elementor-post-author,
.elementor-widget-loop-grid .elementor-post-author {
  color: var(--dm-grey) !important;
  font-weight: 500 !important;
  font-size: 0.72rem !important;
}

/* Séparateurs entre meta items — on les enlève */
.elementor-widget-posts .elementor-post__meta-data > span + span::before,
.elementor-widget-loop-grid .elementor-post__meta-data > span + span::before {
  content: '' !important;
  margin: 0 !important;
}

/* === Titre === */
.elementor-widget-posts .elementor-post__title,
.elementor-widget-loop-grid .elementor-post__title {
  font-family: var(--dm-font) !important;
  font-weight: 600 !important;
  font-size: 1.13rem !important;
  color: var(--dm-navy-dark) !important;
  line-height: 1.28 !important;
  margin: 0 0 0.6rem 0 !important;
  padding: 0 !important;
  letter-spacing: -0.015em !important;
}
.elementor-widget-posts .elementor-post__title a,
.elementor-widget-loop-grid .elementor-post__title a {
  color: var(--dm-navy-dark) !important;
  text-decoration: none !important;
  font-family: var(--dm-font) !important;
  font-weight: 600 !important;
}
.elementor-widget-posts .elementor-post__title a:hover,
.elementor-widget-loop-grid .elementor-post__title a:hover {
  color: var(--dm-red) !important;
}

/* === Extrait === */
.elementor-widget-posts .elementor-post__excerpt,
.elementor-widget-loop-grid .elementor-post__excerpt {
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  flex: 1 !important;
}
.elementor-widget-posts .elementor-post__excerpt p,
.elementor-widget-loop-grid .elementor-post__excerpt p {
  font-family: var(--dm-font) !important;
  font-size: 0.9rem !important;
  color: var(--dm-grey) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 400 !important;
}

/* === Lire la suite === */
.elementor-widget-posts .elementor-post__read-more,
.elementor-widget-loop-grid .elementor-post__read-more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  font-family: var(--dm-font) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--dm-vert) !important;
  text-decoration: none !important;
  padding: 0.9rem 0 0 0 !important;
  margin: auto 0 0 0 !important;
  border-top: 1px solid var(--dm-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: color 0.2s ease, gap 0.2s ease !important;
  width: 100% !important;
}
.elementor-widget-posts .elementor-post__read-more::after,
.elementor-widget-loop-grid .elementor-post__read-more::after {
  content: '→' !important;
  margin-left: auto !important;
  font-weight: 500 !important;
  transition: transform 0.2s ease !important;
}
.elementor-widget-posts .elementor-post:hover .elementor-post__read-more,
.elementor-widget-loop-grid .elementor-post:hover .elementor-post__read-more {
  color: var(--dm-red) !important;
}
.elementor-widget-posts .elementor-post:hover .elementor-post__read-more::after,
.elementor-widget-loop-grid .elementor-post:hover .elementor-post__read-more::after {
  transform: translateX(4px) !important;
}

/* === Pagination Elementor (boutons "Précédent / Suivant", chiffres) === */
.elementor-widget-posts .elementor-pagination,
.elementor-widget-loop-grid .elementor-pagination {
  margin-top: 2.5rem !important;
  display: flex !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  font-family: var(--dm-font) !important;
}
.elementor-widget-posts .elementor-pagination .page-numbers,
.elementor-widget-loop-grid .elementor-pagination .page-numbers {
  padding: 0.55rem 0.95rem !important;
  border: 1px solid var(--dm-line) !important;
  background: var(--dm-white) !important;
  color: var(--dm-ink) !important;
  font-weight: 500 !important;
  font-size: 0.85rem !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}
.elementor-widget-posts .elementor-pagination .page-numbers:hover,
.elementor-widget-loop-grid .elementor-pagination .page-numbers:hover {
  border-color: var(--dm-vert) !important;
  color: var(--dm-vert) !important;
}
.elementor-widget-posts .elementor-pagination .page-numbers.current,
.elementor-widget-loop-grid .elementor-pagination .page-numbers.current {
  background: var(--dm-navy-dark) !important;
  color: var(--dm-white) !important;
  border-color: var(--dm-navy-dark) !important;
}

/* === Filtres Elementor (si widget Posts Filter utilisé) === */
.elementor-widget-posts-filter .elementor-filter-item,
.elementor-widget-loop-filter .elementor-filter-item {
  padding: 0.5rem 1rem !important;
  border: 1px solid var(--dm-line) !important;
  border-radius: 999px !important;
  font-family: var(--dm-font) !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  color: var(--dm-ink) !important;
  background: var(--dm-white) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  margin: 0 0.5rem 0.5rem 0 !important;
}
.elementor-widget-posts-filter .elementor-filter-item:hover,
.elementor-widget-loop-filter .elementor-filter-item:hover,
.elementor-widget-posts-filter .elementor-filter-item.elementor-active,
.elementor-widget-loop-filter .elementor-filter-item.elementor-active {
  background: var(--dm-navy-dark) !important;
  color: var(--dm-white) !important;
  border-color: var(--dm-navy-dark) !important;
}/* End custom CSS */