/* blog.css VERSION 5 — si vous lisez ceci, le bon fichier est chargé */
/* ============================================================================
   BLOG AUS-VISA — habillage des gabarits WordPress par-dessus app.min.css
   + couche de compatibilité avec l'ancien markup Bootstrap 4 / MDB du thème
   ========================================================================== */

/* ---------- Compatibilité utilitaires BS4/MDB hérités des gabarits ---------- */
.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-auto{margin-left:auto!important}
.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-auto{margin-right:auto!important}
.pl-0{padding-left:0!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}
.pr-0{padding-right:0!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}
.text-left{text-align:left!important}.text-right{text-align:right!important}
.float-left{float:left!important}.float-right{float:right!important}
.font-weight-bold{font-weight:700!important}.font-weight-normal{font-weight:400!important}
.badge-primary{background:#1d4678;color:#fff}.badge-secondary{background:#6c757d;color:#fff}
.badge-info{background:#3995C1;color:#fff}.badge-light{background:#eef2f7;color:#41506b}
.badge-pill{border-radius:50rem}
.no-gutters{margin-left:0;margin-right:0}
.no-gutters>[class*="col-"]{padding-left:0;padding-right:0}
.z-depth-1{box-shadow:0 2px 6px rgba(0,0,0,.12)}
.card-footer-borderless{border-top:0;background:transparent}

/* ---------- Corps du blog ---------- */
.blog-main { min-height: 55vh; padding-bottom: 3rem; }
/* largeur : conteneur Bootstrap standard, identique au front */

/* ---------- Cartes d'articles (listes, archives, recherche) ---------- */
article.hentry { background:#fff; border:1px solid #e3e9f0; border-radius:.85rem;
  overflow:hidden; transition:box-shadow .18s ease, transform .18s ease; }
article.hentry:hover { box-shadow:0 .55rem 1.4rem rgba(21,44,74,.12); transform:translateY(-2px); }
article.hentry img.wp-post-image, article.hentry .card-img-top { width:100%; height:auto; display:block; }
.entry-title { font-size:1.15rem; font-weight:700; line-height:1.35; margin:.75rem 0 .4rem; }
.entry-title a { color:#1d4678; text-decoration:none; }
.entry-title a:hover { color:#3995C1; }
.entry-summary { color:#5a6a7a; font-size:.93rem; line-height:1.6; }

/* ---------- Article seul ---------- */
.single .hentry, .page .hentry { border:0; box-shadow:none; transform:none; border-radius:0; background:transparent; }
.single .entry-title, .page .entry-title { font-size:1.9rem; color:#1d4678; margin:1.4rem 0 .8rem; }
.entry-content { font-size:1.02rem; line-height:1.75; color:#24313f; max-width:820px; }
.entry-content p { margin-bottom:1.1rem; }
.entry-content h2 { font-size:1.45rem; color:#1d4678; font-weight:800; margin:2rem 0 .8rem; }
.entry-content h3 { font-size:1.2rem;  color:#1d4678; font-weight:700; margin:1.6rem 0 .6rem; }
.entry-content img { max-width:100%; height:auto; border-radius:.6rem; margin:1rem 0; }
.entry-content a { color:#3995C1; }
.entry-content ul, .entry-content ol { margin:0 0 1.1rem 1.2rem; }
.entry-content li { margin-bottom:.45rem; }
.entry-content blockquote { border-left:4px solid #3995C1; background:#f6f9fc;
  padding:1rem 1.25rem; border-radius:.5rem; margin:1.3rem 0; color:#41506b; }
.entry-content table { width:100%; border-collapse:collapse; margin:1.2rem 0; }
.entry-content th, .entry-content td { border:1px solid #e3e9f0; padding:.6rem .8rem; }
.entry-content th { background:#f6f9fc; color:#1d4678; }

/* ---------- Métadonnées ---------- */
.entry-meta, .blog-post-author { font-size:.82rem; color:#8a99a8; }
.entry-meta a { color:#5a6a7a; }

/* ---------- Pagination WordPress ---------- */
.blog-main .navigation, .blog-main .nav-links, .blog-main .pagination
  { display:flex; gap:.4rem; justify-content:center; margin:2rem 0 0; flex-wrap:wrap; }
.blog-main .page-numbers { display:inline-block; padding:.45rem .95rem; border:1px solid #e3e9f0;
  border-radius:.55rem; color:#1d4678; font-weight:600; text-decoration:none; background:#fff; }
.blog-main .page-numbers.current, .blog-main .page-numbers:hover { background:#1d4678; color:#fff; border-color:#1d4678; }

/* ---------- Widgets / sidebar éventuels ---------- */
.widget { background:#fff; border:1px solid #e3e9f0; border-radius:.75rem; padding:1.1rem 1.25rem; margin-bottom:1.25rem; }
.widget-title { font-size:1rem; font-weight:800; color:#1d4678; border-bottom:1px solid #edf1f6; padding-bottom:.55rem; margin-bottom:.8rem; }
.widget ul { list-style:none; margin:0; padding:0; }
.widget li { padding:.35rem 0; border-bottom:1px dashed #eef2f7; }
.widget a { color:#41506b; text-decoration:none; }
.widget a:hover { color:#1d4678; }

/* ---------- Commentaires ---------- */
#comments { max-width:820px; margin-top:2.5rem; }
.comment-list { list-style:none; padding:0; }
.comment-body { background:#f8fafc; border:1px solid #eef2f7; border-radius:.6rem; padding:1rem 1.2rem; margin-bottom:1rem; }

/* ============================================================================
   ARTICLE SEUL — reconstruction moderne du pattern MDB "card-cascade reverse" :
   image en bandeau maîtrisé + corps en carte blanche remontée par-dessus.
   ========================================================================== */
.single .post.card, .page .post.card { border:0; background:transparent; overflow:visible; }
.single .post .h-400, .page .post .h-400 { max-height:420px; overflow:hidden; border-radius:.85rem; position:relative; }
.single .post img.cover, .page .post img.cover { width:100%; height:420px; object-fit:cover; display:block; margin:0; border-radius:.85rem; }
.featured-caption { position:absolute; right:.75rem; bottom:.75rem; background:rgba(255,255,255,.88);
  border-radius:.45rem; font-size:.72rem; color:#5a6a7a; }

.single .card-body-cascade, .page .card-body-cascade {
  position:relative; background:#fff; border-radius:.85rem; box-shadow:0 .6rem 1.8rem rgba(21,44,74,.10);
  max-width:900px; margin:-90px auto 0; padding:2rem 1.25rem !important; }
@media (min-width:768px){ .single .card-body-cascade, .page .card-body-cascade { padding:2.5rem 3rem !important; } }
@media (max-width:575.98px){ .single .card-body-cascade, .page .card-body-cascade { margin-top:-40px; } }

#breadcrumbs { font-size:.8rem; color:#8a99a8; margin-bottom:.9rem; }
#breadcrumbs a { color:#3995C1; text-decoration:none; }
.single-title { font-size:1.75rem; font-weight:800; color:#1d4678; line-height:1.3;
  text-transform:none; letter-spacing:0; margin:.25rem 0 .5rem; }
@media (min-width:768px){ .single-title { font-size:2.1rem; } }
.single .entry-meta { margin-bottom:.75rem; }
.single .entry-meta .dark-grey-text { color:#8a99a8 !important; }

/* Le contenu dans la carte : annule les grands paddings MDB hérités */
.single .card-body-cascade .px-md-5, .single .card-body-cascade .mx-md-5 {
  padding-left:0 !important; padding-right:0 !important; margin-left:0 !important; margin-right:0 !important; }
.single .entry-content { max-width:100%; text-align:left; }

/* ============================================================================
   LISTES — cartes d'articles harmonisées (home, catégories, recherche)
   ========================================================================== */
article.hentry .card-img-top, article.hentry img.wp-post-image { height:210px; object-fit:cover; }
article.hentry .card-body { padding:1.1rem 1.25rem; }
article.hentry .card-footer { background:#f8fafc; border-top:1px solid #eef2f7;
  font-size:.72rem; letter-spacing:.04em; }
article.hentry .card-footer a { color:#3995C1; text-decoration:none; font-weight:700; }

/* ================== blog-css v3 — home ================== */
/* Recherche du bandeau */
.blog-search { display:flex; align-items:center; background:#fff; border-radius:50rem;
  padding:.2rem .25rem .2rem 1rem; box-shadow:0 2px 10px rgba(10,30,60,.18); }
.blog-search-input { border:0; outline:0; background:transparent; font-size:.9rem; width:220px; color:#24313f; }
.blog-search-btn { border:0; background:#1d4678; color:#fff; width:34px; height:34px;
  border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.blog-search-btn:hover { background:#3995C1; }

/* Cartes : cliquables partout, survol net */
article.hentry, .card.h-100 { position:relative; }
article.hentry .card-title a, .card.h-100 .card-title a { color:#1d4678; text-decoration:none; font-weight:700; }
article.hentry:hover .card-title a { color:#3995C1; }
.card.h-100 { border:1px solid #e3e9f0; border-radius:.85rem; overflow:hidden;
  transition:box-shadow .18s ease, transform .18s ease; }
.card.h-100:hover { box-shadow:0 .55rem 1.4rem rgba(21,44,74,.14); transform:translateY(-2px); }
/* Les liens de catégories restent cliquables au-dessus du lien étendu */
.card.h-100 .card-footer { position:relative; z-index:2; }
/* Icônes FontAwesome absentes : masquer les <i> orphelins, chevron en CSS */
.card.h-100 i[class*="fa-"], .single i[class*="fa-"] { display:none; }
.card.h-100 .card-footer .text-right a::after { content:"\2192"; margin-left:.3rem; }


/* ================== blog-css v4 — cartes "web3" ================== */
.blog-main .row { --bs-gutter-x: 1.6rem; --bs-gutter-y: 1.6rem; }

.card.h-100 { border:1px solid rgba(29,70,120,.08); border-radius:1.1rem;
  box-shadow:0 2px 14px rgba(21,44,74,.06); margin-bottom:1.5rem;
  transition:box-shadow .22s ease, transform .22s ease, border-color .22s ease; }
.card.h-100:hover { transform:translateY(-4px);
  box-shadow:0 1.1rem 2.4rem rgba(29,70,120,.16); border-color:rgba(57,149,193,.35); }

/* Image : zoom doux au survol */
.card.h-100 .view, .card.h-100 .overlay { overflow:hidden; border-radius:1.1rem 1.1rem 0 0; }
.card.h-100 .card-img-top { height:200px; width:100%; object-fit:cover;
  transition:transform .35s ease; border-radius:1.1rem 1.1rem 0 0; }
.card.h-100:hover .card-img-top { transform:scale(1.05); }

/* Corps */
.card.h-100 .card-body { padding:1.15rem 1.3rem 1rem; }
.card.h-100 .card-title { font-size:1.02rem; line-height:1.4; margin-bottom:.4rem; }
.card.h-100 .card-body .text-small, .card.h-100 .entry-summary { font-size:.87rem; color:#5a6a7a; }

/* Pied : catégories en chips pilules */
.card.h-100 .card-footer { background:transparent; border-top:0; padding:.35rem 1.3rem 1.15rem;
  font-size:.7rem; letter-spacing:.02em; }
.card.h-100 .card-footer a { display:inline-block; background:#eef4fa; color:#1d4678;
  border:1px solid #dbe7f2; border-radius:50rem; padding:.28rem .7rem; margin:0 .25rem .3rem 0;
  font-weight:700; text-decoration:none; transition:background .15s ease; }
.card.h-100 .card-footer a:hover { background:#1d4678; color:#fff; }

/* ================== v5 — conteneur élargi ================== */
@media (min-width:1200px){ .blog-main .container, .page-band .container { max-width:1320px; } }

/* ================== v6 — retouches cartes + pagination ================== */
/* Image plus haute */
.card.h-100 .card-img-top { height:240px; }
/* Resserrer l'espace extrait -> catégories */
.card.h-100 .card-body { padding-bottom:.35rem; }
.card.h-100 .card-footer { padding-top:.15rem; }
/* Chip catégorie : texte blanc au survol, garanti */
.card.h-100 .card-footer a:hover { background:#1d4678 !important; color:#fff !important; border-color:#1d4678 !important; }
/* Carte entièrement cliquable : curseur explicite */
.card.h-100, .card.h-100:hover { cursor:pointer; }
.card.h-100 .stretched-link::after { cursor:pointer; }

/* Pagination du blog aux couleurs du site */
.ft-wpbs.pagination { gap:.4rem; }
.ft-wpbs .page-link { border:1px solid #e3e9f0; border-radius:.55rem !important; color:#1d4678;
  font-weight:600; font-size:.95rem; padding:.5rem 1rem; background:#fff; box-shadow:none; }
.ft-wpbs .page-item.active .page-link { background:#1d4678; border-color:#1d4678; color:#fff; }
.ft-wpbs .page-link:hover { background:#eef4fa; color:#1d4678; }
.ft-wpbs .page-item.active .page-link:hover { background:#1d4678; color:#fff; }

/* ================== v7 ================== */
/* Arrondis parfaitement concentriques : le parent clippe, l'image reste carrée */
.card.h-100 { overflow:hidden; }
.card.h-100 .card-img-top, .card.h-100 .view, .card.h-100 .overlay { border-radius:0; }
/* Grande carte à la une : image plus haute */
.card-featured .card-img-top { height:340px; }
@media (max-width:767.98px){ .card-featured .card-img-top { height:230px; } }
/* Catégories collées à l'extrait */
.card.h-100 .card-body { padding-bottom:.1rem; }
.card.h-100 .card-footer { padding-top:0; }

/* ---------- Sidebar : premier widget en carte CTA chartée ---------- */
#primary .widget:first-child {
  background:linear-gradient(135deg,#1d4678 0%,#2f6ca8 55%,#3995C1 100%);
  border:0; color:#eaf3fa; box-shadow:0 .6rem 1.6rem rgba(29,70,120,.25); }
#primary .widget:first-child .widget-title,
#primary .widget:first-child h2, #primary .widget:first-child h3 {
  color:#fff; border-bottom:1px solid rgba(255,255,255,.25); }
#primary .widget:first-child p { color:#dbe9f5; font-size:.92rem; line-height:1.6; }
#primary .widget:first-child a.btn, #primary .widget:first-child .btn,
#primary .widget:first-child a[class*="btn"] {
  display:inline-block; background:#fff; color:#1d4678 !important; font-weight:700;
  border:0; border-radius:50rem; padding:.6rem 1.4rem; text-decoration:none;
  box-shadow:0 3px 10px rgba(10,30,60,.25); transition:transform .15s ease; }
#primary .widget:first-child .btn:hover { transform:translateY(-2px); color:#1d4678 !important; }

/* ================== v8 ================== */
/* Arrondis : version blindée (prime sur tout style hérité ou minifié) */
.card.h-100 { overflow:hidden !important; border-radius:1.1rem !important; }
.card.h-100 .card-img-top, .card.h-100 .view, .card.h-100 .overlay,
.card.h-100 img { border-radius:0 !important; }
/* Grande carte : image encore plus haute */
.card-featured .card-img-top { height:380px; }
@media (max-width:767.98px){ .card-featured .card-img-top { height:230px; } }

/* Page article : conteneur central élargi */
.single .card-body-cascade, .page .card-body-cascade { max-width:1080px; }
/* Page article : photo d'en-tête carrée (aucun arrondi) */
.single .post .h-400, .page .post .h-400,
.single .post img.cover, .page .post img.cover { border-radius:0 !important; }

/* ================== v9 ================== */
/* L'enveloppe article.hentry porte le vrai arrondi : alignement à 1.1rem */
article.hentry { border-radius:1.1rem !important; overflow:hidden !important; }
article.hentry .card.h-100 { border-radius:1.1rem !important; }

/* Mise en avant : image de la grande carte nettement plus haute */
article.hentry .card-featured .card-img-top,
.card-featured .card-img-top { height:400px !important; }
@media (max-width:767.98px){
  article.hentry .card-featured .card-img-top,
  .card-featured .card-img-top { height:230px !important; } }

/* Ligne parasite entre la pagination et le pied de page */
.blog-main ~ hr, #wrapper > hr, main.blog-main + hr { display:none !important; }
main.blog-main, #wrapper { border:0 !important; }
.blog-main .card-body.white-text { border:0; }

/* ================== v10 — page article ================== */
/* La règle v9 (cartes de listes) ne doit PAS arrondir l'article en page single */
.single article.hentry, .page article.hentry {
  border-radius:0 !important; overflow:visible !important; }

/* Image d'en-tête : plus haute, cadrée sur son centre, angles droits */
.single .post .h-400, .page .post .h-400 { max-height:560px; border-radius:0 !important; }
.single .post img.cover, .page .post img.cover {
  height:560px; object-fit:cover; object-position:center center; border-radius:0 !important; }

/* La carte du texte remonte davantage : position de lecture inchangée
   (l'image grandit de 140px, la carte remonte de 140px) */
.single .card-body-cascade, .page .card-body-cascade { margin-top:-230px; }
@media (max-width:767.98px){
  .single .post .h-400, .page .post .h-400,
  .single .post img.cover, .page .post img.cover { max-height:300px; height:300px; }
  .single .card-body-cascade, .page .card-body-cascade { margin-top:-60px; } }

/* ================== v11 — réglages fins page article ================== */
/* Menu : le déroulant ne pousse plus le contenu (position hors flux) */
.site-nav .dropdown-menu, header .dropdown-menu { position:absolute !important; }

/* Image d'en-tête : hauteur native 375px (aucun zoom/upscale) */
.single .post .h-400, .page .post .h-400 { max-height:375px; }
.single .post img.cover, .page .post img.cover {
  height:375px; object-fit:cover; object-position:center center; }

/* Contenu remonté franchement (valeurs validées en inspection) */
.card.card-cascade.wider.reverse .card-body.card-body-cascade { margin-top:-18rem !important; }
@media (max-width:767.98px){
  .single .post .h-400, .page .post .h-400,
  .single .post img.cover, .page .post img.cover { max-height:300px; height:300px; }
  .card.card-cascade.wider.reverse .card-body.card-body-cascade { margin-top:-4rem !important; } }

/* ================== v12 — plus aucun effet de survol en page article ================== */
.single article.hentry:hover, .page article.hentry:hover,
.single article.hentry, .page article.hentry {
  transform:none !important; box-shadow:none !important; transition:none !important; }
.single .post.card:hover, .page .post.card:hover { transform:none !important; box-shadow:none !important; }
