/* ======================================================
   BLOG-LISTING.CSS
   Chargé UNIQUEMENT sur la page utilisant le modèle
   "Blog (auto)" (page-blog.php). Voir fonction d'enqueue
   conditionnelle dans functions.php.

   Réutilise les mêmes variables et noms de classes que
   blog.css (single.php) pour rester cohérent avec la charte
   graphique déjà en place. Aucun conflit possible : les deux
   fichiers ne se chargent jamais sur la même page.

   Police Cormorant Garamond déjà chargée site-wide (utilisée
   par blog.css sur les articles) : pas de réimport ici.
   ====================================================== */

/* Le modèle "Blog (auto)" ne passe pas par le conteneur "boxed"
   habituel d'Astra (qui dessine normalement un fond blanc derrière
   le contenu). Sans lui, une couleur de fond définie ailleurs dans
   Astra (Personnaliser > Couleurs) peut apparaître derrière nos blocs.
   On force donc un fond blanc, à l'échelle de toute la page, quand
   ce modèle est actif. */
html.page-template-page-blog-php,
body.page-template-page-blog-php,
body.page-template-page-blog-php .site-content,
body.page-template-page-blog-php #content,
body.page-template-page-blog-php #primary{
  background-color:#ffffff !important;
}

/* Filet de sécurité : quel que soit l'ancêtre en cause, le fond blanc
   du bloc principal lui-même couvre toute la zone de contenu visible. */
.gfv-blog-page{
  background:#ffffff;
  font-family:Inter,sans-serif;
  color:var(--color-text,#374151);
}
.gfv-blog-page *{
  box-sizing:border-box;
}
.gfv-blog-page h1,
.gfv-blog-page h2,
.gfv-blog-page h3,
.gfv-blog-page p{
  margin-top:0;
}
.gfv-blog-page img{
  max-width:100%;
  height:auto;
}

/* HERO — grand bloc arrondi */
.gfv-hero-section{
  background:radial-gradient(120% 140% at 15% 0%, #FBF4EE 0%, #F8F6F3 45%, #F3ECE4 100%);
  border-radius:32px;
  margin:40px auto 50px;
  padding:56px 40px 40px;
  max-width:1180px;
}
.gfv-blog-hero{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.gfv-blog-breadcrumb{
  font-family:"Cormorant Garamond",serif;
  font-style:italic;
  font-size:14px;
  color:#C38C7D;
  margin-bottom:18px;
  letter-spacing:.02em;
}
.gfv-blog-title{
  font-family:"Cormorant Garamond",serif;
  font-size:56px;
  font-weight:600;
  color:#7F563F;
  line-height:1.08;
  margin-bottom:18px;
}
.gfv-blog-subtitle{
  font-size:19px;
  line-height:1.7;
  color:#1F2937;
  margin-bottom:18px;
  text-align:center !important;
}
.gfv-blog-intro{
  font-size:15px;
  line-height:1.75;
  color:#374151;
  max-width:680px;
  margin:0 auto;
  text-align:center !important;
}

/* FILTERS */
.gfv-blog-filters{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin:34px auto 0;
}
.gfv-filter-btn{
  display:inline-block;
  font-family:Inter,sans-serif;
  font-size:14px;
  font-weight:500;
  padding:11px 22px;
  border-radius:40px;
  border:1px solid rgba(127,86,63,.18);
  background:#fff;
  color:#374151;
  text-decoration:none;
  cursor:pointer;
}
.gfv-filter-btn.active{
  background:#7F563F;
  border-color:#7F563F;
  color:#fff;
}
.gfv-filter-btn:hover:not(.active){
  border-color:#7F563F;
  color:#7F563F;
}

/* ARTICLE À LA UNE */
.gfv-blog-featured{
  max-width:1180px;
  margin:0 auto 30px;
  padding:0 20px;
}
.gfv-blog-featured-inner{
  display:flex;
  background:#fff;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 4px 28px rgba(31,41,55,.08);
}
.gfv-featured-img{
  flex:1 1 52%;
  min-height:380px;
  position:relative;
}
.gfv-featured-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:brightness(.9) contrast(1.12) saturate(.92);
}
.gfv-featured-tag{
  position:absolute;
  top:18px;
  left:18px;
  background:rgba(255,255,255,.94);
  color:#7F563F;
  font-size:11px;
  font-weight:600;
  padding:6px 14px;
  border-radius:20px;
}
.gfv-featured-body{
  flex:1 1 48%;
  padding:48px 46px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.gfv-featured-kicker{
  font-size:12px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#C38C7D;
  margin-bottom:16px;
}
.gfv-featured-title{
  font-family:"Cormorant Garamond",serif;
  font-size:38px;
  font-weight:600;
  line-height:1.2;
  color:#1F2937;
  margin-bottom:16px;
}
.gfv-featured-excerpt{
  font-size:15.5px;
  line-height:1.75;
  color:#6B7280;
  margin-bottom:26px;
}
@media (max-width:900px){
  .gfv-blog-featured-inner{flex-direction:column;}
  .gfv-featured-img{min-height:240px;}
  .gfv-featured-body{padding:32px 28px;}
}

/* GRID — flex + centrage auto des rangées incomplètes */
.gfv-blog-grid{
  max-width:1180px;
  margin:0 auto;
  padding:0 20px 20px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:30px;
}

.gfv-blog-card{
  flex:0 1 calc(33.333% - 20px);
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 2px 24px rgba(31,41,55,.07);
  transition:all .3s ease;
  display:flex;
  flex-direction:column;
}
.gfv-blog-card:hover{
  transform:translateY(-5px);
  box-shadow:0 10px 32px rgba(31,41,55,.12);
}
.gfv-blog-card-img{
  position:relative;
  margin:14px 14px 0;
  border-radius:18px;
  overflow:hidden;
  height:180px;
}
.gfv-blog-card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:brightness(.9) contrast(1.12) saturate(.92);
  transition:filter .3s ease;
}
.gfv-blog-card:hover .gfv-blog-card-img img{
  filter:brightness(.95) contrast(1.08) saturate(1);
}
.gfv-blog-tag{
  position:absolute;
  top:12px;
  left:12px;
  background:rgba(255,255,255,.94);
  color:#7F563F;
  font-size:11px;
  font-weight:600;
  padding:5px 12px;
  border-radius:20px;
  letter-spacing:.02em;
}
.gfv-blog-card-body{
  padding:20px 22px 24px;
  flex:1;
  display:flex;
  flex-direction:column;
}
.gfv-blog-card-date{
  font-size:12px;
  color:#C38C7D;
  margin-bottom:8px;
  font-weight:500;
}
.gfv-blog-card-title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;
  font-weight:600;
  line-height:1.28;
  color:#1F2937;
  margin-bottom:10px;
}
.gfv-blog-card-excerpt{
  font-size:14px;
  line-height:1.6;
  color:#6B7280;
  margin-bottom:18px;
  flex:1;
}

/* CTA "Explorer" — texte + flèche, minimal (cartes uniquement) */
.gfv-explore-btn{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  background:transparent;
  border:1px solid rgba(127,86,63,.3);
  border-radius:24px;
  padding:9px 16px;
  text-decoration:none;
  gap:8px;
  transition:all .2s ease;
}
.gfv-explore-btn:hover{
  border-color:#7F563F;
  background:rgba(127,86,63,.05);
}
.gfv-explore-label{
  color:#7F563F;
  font-size:13px;
  font-weight:600;
}
.gfv-explore-arrow{
  color:#7F563F;
  font-size:14px;
  line-height:1;
}

/* CTA de réassurance intégré à la grille */
.gfv-blog-cta{
  flex:0 1 100%;
  background:#F8F6F3;
  border-radius:28px;
  padding:48px 30px;
  text-align:center;
  margin:6px 0;
}
.gfv-blog-cta-title{
  font-family:"Cormorant Garamond",serif;
  font-size:30px;
  color:#1F2937;
  margin-bottom:10px;
}
.gfv-blog-cta-text{
  font-size:15px;
  color:#374151;
  max-width:520px;
  margin:0 auto 22px;
  line-height:1.6;
  text-align:center !important;
}

/* Bouton de réassurance — identique aux articles (blog.css : .gfv-btn-primary) */
.gfv-blog-page .gfv-btn-primary{
  display:inline-block;
  background:#C38C7D;
  color:#fff;
  padding:12px 20px;
  border-radius:8px;
  text-decoration:none;
  font-family:Inter,sans-serif;
  font-weight:500;
  font-size:14px;
}
.gfv-blog-page .gfv-btn-primary:hover{
  opacity:.9;
}

/* LOAD MORE */
.gfv-blog-pagination{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
  margin:50px auto 70px;
}
.gfv-page-link{
  display:inline-block;
  font-family:Inter,sans-serif;
  font-size:14px;
  font-weight:600;
  border:1px solid #7F563F;
  color:#7F563F;
  background:transparent;
  padding:13px 28px;
  border-radius:40px;
  text-decoration:none;
}
.gfv-page-link:hover{
  background:#7F563F;
  color:#fff;
}
.gfv-page-link-primary{
  background:#7F563F;
  color:#fff;
}
.gfv-page-link-primary:hover{
  opacity:.9;
}

/* TEXTE SEO / MAILLAGE EN PIED DE PAGE */
.gfv-blog-seo-text{
  max-width:820px;
  margin:0 auto 70px;
  padding:0 20px;
}
.gfv-blog-seo-text h2{
  font-family:"Cormorant Garamond",serif;
  font-size:30px;
  color:#1F2937;
  margin-bottom:18px;
}
.gfv-blog-seo-text p{
  font-size:15px;
  line-height:1.8;
  color:#374151;
  margin-bottom:16px;
}
.gfv-blog-seo-text a{
  color:#7F563F;
  font-weight:600;
  text-decoration:underline;
}

/* FAQ (repris du style existant sur les articles) */
.gfv-blog-page .gfv-faq{
  max-width:820px;
  margin:0 auto 70px;
  padding:0 20px;
}
.gfv-blog-page .gfv-faq-title{
  font-family:"Cormorant Garamond",serif;
  font-size:32px;
  color:#1F2937;
  margin-bottom:24px;
}
.gfv-blog-page .gfv-faq-item{
  border-bottom:1px solid #E8E3DE;
  padding:4px 0;
}
.gfv-blog-page .gfv-faq-item:first-child{
  border-top:1px solid #E8E3DE;
}
.gfv-blog-page .gfv-faq-question{
  width:100%;
  padding:20px 4px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:transparent;
  border:none;
  cursor:pointer;
  font-family:Inter,sans-serif;
  font-size:16px;
  font-weight:600;
  color:#1F2937;
  text-align:left;
}
.gfv-blog-page .gfv-faq-icon{
  font-size:22px;
  color:#7F563F;
  font-weight:300;
  transition:transform .25s ease;
}
.gfv-blog-page .gfv-faq-item.active .gfv-faq-icon{
  transform:rotate(45deg);
}
.gfv-blog-page .gfv-faq-answer{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .35s ease,opacity .25s ease;
  padding:0 4px;
  font-size:14.5px;
  line-height:1.8;
  color:#374151;
}
.gfv-blog-page .gfv-faq-item.active .gfv-faq-answer{
  max-height:300px;
  opacity:1;
  padding:0 4px 22px;
}

/* BANDEAU RÉASSURANCE FINAL */
.gfv-blog-page .gfv-trust{
  max-width:1180px;
  margin:0 auto 90px;
  padding:56px 30px;
  background:#F8F6F3;
  border-radius:32px;
  text-align:center;
}
.gfv-blog-page .gfv-trust-title{
  font-family:"Cormorant Garamond",serif;
  font-size:32px;
  margin-bottom:30px;
  color:#1F2937;
}
.gfv-blog-page .gfv-trust-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-bottom:34px;
}
.gfv-blog-page .gfv-trust-item h3{
  font-family:"Cormorant Garamond",serif;
  font-size:19px;
  margin-bottom:8px;
  color:#1F2937;
}
.gfv-blog-page .gfv-trust-item p{
  font-size:14px;
  color:#374151;
  line-height:1.6;
  text-align:center !important;
}
.gfv-blog-page .gfv-trust-cta{
  display:flex;
  justify-content:center;
}

@media (max-width:900px){
  .gfv-blog-card{flex:0 1 calc(50% - 15px);}
  .gfv-blog-page .gfv-trust-grid{grid-template-columns:1fr;}
  .gfv-hero-section{border-radius:24px;padding:40px 24px 30px;}
}
@media (max-width:600px){
  .gfv-blog-card{flex:0 1 100%;}
  .gfv-blog-title{font-size:38px;}
}