/* ==========================================================================
   Transilix — Blog (listing + article) — charte Transilix
   ========================================================================== */

/* ===== HERO BLOG / ARCHIVE ===== */
.tx-blog-hero{background:linear-gradient(135deg,var(--blue,#0B2A4A),var(--blue2,#163d6a));padding:58px 52px 52px;position:relative;overflow:hidden}
.tx-blog-hero::after{content:'';position:absolute;right:52px;top:50%;transform:translateY(-50%);width:200px;height:200px;border-radius:50%;border:44px solid rgba(245,124,0,.09);pointer-events:none}
.tx-blog-hero .tx-tag{display:inline-block;background:rgba(245,124,0,.2);color:var(--orange-light,#FF9800);font-size:11px;font-weight:700;letter-spacing:.8px;padding:6px 16px;border-radius:50px;font-family:'Montserrat',sans-serif;margin-bottom:14px;text-transform:uppercase}
.tx-blog-hero h1{font-family:'Montserrat',sans-serif;font-size:34px;font-weight:900;color:#fff;margin:0 0 10px;letter-spacing:-.5px;position:relative}
.tx-blog-hero p{font-size:14px;color:rgba(255,255,255,.7);max-width:560px;line-height:1.75;margin:0;position:relative}

/* ===== GRILLE D'ARTICLES ===== */
.tx-blog-wrap{padding:64px 52px;max-width:1180px;margin:0 auto}
.tx-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.tx-post-card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.tx-post-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(11,42,74,.12)}
.tx-post-thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:#f0f2f5}
.tx-post-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.tx-post-card:hover .tx-post-thumb img{transform:scale(1.05)}
.tx-post-thumb--empty{background:linear-gradient(135deg,var(--blue,#0B2A4A),var(--blue2,#163d6a));display:flex;align-items:center;justify-content:center}
.tx-post-thumb--empty span{font-size:40px;opacity:.5}
.tx-post-body{padding:22px;display:flex;flex-direction:column;flex:1}
.tx-post-cat{display:inline-block;align-self:flex-start;background:rgba(245,124,0,.12);color:var(--orange,#F57C00);font-size:10px;font-weight:700;letter-spacing:1px;padding:4px 12px;border-radius:4px;font-family:'Montserrat',sans-serif;text-transform:uppercase;margin-bottom:12px;text-decoration:none}
.tx-post-cat:hover{background:var(--orange,#F57C00);color:#fff}
.tx-post-card h2{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:700;line-height:1.3;margin:0 0 10px}
.tx-post-card h2 a{color:var(--blue,#0B2A4A);text-decoration:none}
.tx-post-card h2 a:hover{color:var(--orange,#F57C00)}
.tx-post-excerpt{font-size:13px;color:var(--text-muted,#555);line-height:1.65;margin:0 0 16px;flex:1}
.tx-post-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:#888;font-family:'Montserrat',sans-serif;border-top:1px solid #f0f0f0;padding-top:14px}
.tx-post-meta .tx-read-more{margin-left:auto;color:var(--orange,#F57C00);font-weight:700;text-decoration:none}
.tx-post-meta .tx-read-more:hover{color:#e06d00}

/* ===== PAGINATION ===== */
.tx-pagination{display:flex;justify-content:center;gap:8px;margin-top:48px;flex-wrap:wrap}
.tx-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:8px;border:1.5px solid #e4e4e4;color:var(--blue,#0B2A4A);font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;text-decoration:none;transition:all .2s}
.tx-pagination .page-numbers:hover{border-color:var(--orange,#F57C00);color:var(--orange,#F57C00)}
.tx-pagination .page-numbers.current{background:var(--orange,#F57C00);border-color:var(--orange,#F57C00);color:#fff}
.tx-pagination .page-numbers.dots{border:none}

/* ===== ARTICLE (SINGLE) ===== */
.tx-article-hero{background:linear-gradient(135deg,var(--blue,#0B2A4A),var(--blue2,#163d6a));padding:56px 52px 48px;color:#fff}
.tx-article-hero .tx-inner{max-width:780px;margin:0 auto}
.tx-article-cat{display:inline-block;background:rgba(245,124,0,.2);color:var(--orange-light,#FF9800);font-size:11px;font-weight:700;letter-spacing:1px;padding:5px 14px;border-radius:4px;font-family:'Montserrat',sans-serif;text-transform:uppercase;text-decoration:none;margin-bottom:16px}
.tx-article-hero h1{font-family:'Montserrat',sans-serif;font-size:36px;font-weight:900;line-height:1.15;letter-spacing:-.5px;margin:0 0 18px}
/* Override kit Elementor h1{color:blue} — titre article en blanc sur le hero sombre */
.tx-article-hero .tx-inner h1{color:#fff}
.tx-article-meta{display:flex;align-items:center;gap:18px;font-size:13px;color:rgba(255,255,255,.72);font-family:'Montserrat',sans-serif;flex-wrap:wrap}
.tx-article-meta .tx-avatar{width:34px;height:34px;border-radius:50%;background:var(--orange,#F57C00);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;margin-right:8px}
.tx-article-meta .tx-mi{display:inline-flex;align-items:center;gap:6px}

.tx-article-featured{max-width:900px;margin:-30px auto 0;padding:0 24px}
.tx-article-featured img{width:100%;border-radius:16px;box-shadow:0 16px 50px rgba(11,42,74,.18);display:block}

/* Breadcrumb Yoast */
.tx-breadcrumb{max-width:780px;margin:0 auto;padding:22px 24px 0;font-size:12px;color:#888;font-family:'Montserrat',sans-serif}
.tx-breadcrumb a{color:var(--blue,#0B2A4A);text-decoration:none}
.tx-breadcrumb a:hover{color:var(--orange,#F57C00)}

/* ===== CORPS DE L'ARTICLE (typographie) ===== */
.tx-article-body{max-width:780px;margin:0 auto;padding:40px 24px 16px;font-family:'Poppins',sans-serif;font-size:16px;line-height:1.8;color:var(--text,#1a1a2e)}
.tx-article-body p{margin:0 0 22px}
.tx-article-body h2{font-family:'Montserrat',sans-serif;font-size:26px;font-weight:800;color:var(--blue,#0B2A4A);margin:38px 0 16px;line-height:1.2}
.tx-article-body h3{font-family:'Montserrat',sans-serif;font-size:21px;font-weight:700;color:var(--blue,#0B2A4A);margin:30px 0 12px}
.tx-article-body h4{font-family:'Montserrat',sans-serif;font-size:17px;font-weight:700;color:var(--blue,#0B2A4A);margin:24px 0 10px}
.tx-article-body a{color:var(--orange,#F57C00);text-decoration:underline;text-underline-offset:2px}
.tx-article-body a:hover{color:#e06d00}
.tx-article-body ul,.tx-article-body ol{margin:0 0 22px;padding-left:24px}
.tx-article-body li{margin-bottom:8px}
.tx-article-body img{max-width:100%;height:auto;border-radius:12px;margin:10px 0 24px}
.tx-article-body blockquote{margin:24px 0;padding:18px 24px;background:rgba(245,124,0,.06);border-left:4px solid var(--orange,#F57C00);border-radius:0 10px 10px 0;font-size:17px;font-style:italic;color:var(--blue,#0B2A4A)}
.tx-article-body blockquote p:last-child{margin:0}
.tx-article-body code{background:#f4f5f7;padding:2px 7px;border-radius:5px;font-size:.9em;font-family:Consolas,Monaco,monospace}
.tx-article-body pre{background:#0B2A4A;color:#fff;padding:18px;border-radius:10px;overflow:auto;margin:0 0 24px}
.tx-article-body pre code{background:none;color:inherit;padding:0}
.tx-article-body figure{margin:0 0 24px}
.tx-article-body figcaption{font-size:12px;color:#888;text-align:center;margin-top:8px}
.tx-article-body table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:14px}
.tx-article-body th,.tx-article-body td{border:1px solid #e4e4e4;padding:10px 12px;text-align:left}
.tx-article-body th{background:#f4f5f7;font-family:'Montserrat',sans-serif;font-weight:700;color:var(--blue,#0B2A4A)}

/* ===== TAGS + PARTAGE ===== */
.tx-article-tools{max-width:780px;margin:0 auto;padding:8px 24px 32px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:1px solid #eee}
.tx-tags{display:flex;gap:8px;flex-wrap:wrap}
.tx-tags a{font-size:12px;color:var(--blue,#0B2A4A);background:#f4f5f7;padding:5px 12px;border-radius:50px;text-decoration:none;font-family:'Montserrat',sans-serif;font-weight:600}
.tx-tags a:hover{background:var(--orange,#F57C00);color:#fff}
.tx-share{display:flex;gap:8px;align-items:center}
.tx-share span{font-size:12px;color:#888;font-family:'Montserrat',sans-serif;font-weight:600}
.tx-share a{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#f4f5f7;color:var(--blue,#0B2A4A);transition:all .2s}
.tx-share a:hover{background:var(--orange,#F57C00);color:#fff}
.tx-share svg{width:16px;height:16px;fill:currentColor}

/* ===== AUTEUR ===== */
.tx-author{max-width:780px;margin:32px auto;padding:0 24px}
.tx-author-card{display:flex;gap:18px;align-items:flex-start;background:#f4f5f7;border-radius:16px;padding:24px}
.tx-author-card .tx-avatar{width:56px;height:56px;border-radius:50%;background:var(--orange,#F57C00);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex-shrink:0;font-family:'Montserrat',sans-serif}
.tx-author-card h4{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;color:var(--blue,#0B2A4A);margin:0 0 4px}
.tx-author-card p{font-size:13px;color:var(--text-muted,#555);line-height:1.6;margin:0}

/* ===== ARTICLES LIÉS ===== */
.tx-related{background:#f4f5f7;padding:56px 52px}
.tx-related-inner{max-width:1180px;margin:0 auto}
.tx-related h2{font-family:'Montserrat',sans-serif;font-size:24px;font-weight:800;color:var(--blue,#0B2A4A);text-align:center;margin:0 0 32px}

/* ===== CTA FIN D'ARTICLE ===== */
.tx-article-cta{background:var(--blue,#0B2A4A);padding:56px 52px;text-align:center;position:relative;overflow:hidden}
.tx-article-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(245,124,0,.16),transparent 60%)}
.tx-article-cta h2{font-family:'Montserrat',sans-serif;font-size:28px;font-weight:900;color:#fff;margin:0 0 10px;position:relative}
.tx-article-cta p{font-size:14px;color:rgba(255,255,255,.72);margin:0 auto 24px;max-width:480px;position:relative}

/* ===== RESPONSIVE ===== */
@media(max-width:980px){
  .tx-blog-hero,.tx-article-hero,.tx-related,.tx-article-cta{padding-left:20px;padding-right:20px}
  .tx-blog-wrap{padding:48px 20px}
  .tx-posts{grid-template-columns:repeat(2,1fr);gap:20px}
  .tx-blog-hero::after{display:none}
  .tx-blog-hero h1,.tx-article-hero h1{font-size:28px}
  .tx-article-body{font-size:15px}
}
@media(max-width:600px){
  .tx-posts{grid-template-columns:1fr}
  .tx-article-hero h1{font-size:24px}
  .tx-article-body h2{font-size:22px}
  .tx-article-tools{flex-direction:column;align-items:flex-start}
}
