/* =====================================================================
   BRIDGE NUMERIC INC. — Feuille de style de marque
   Palette issue du logo : bleu marine profond + dégradés bleu / cyan
   ===================================================================== */

:root {
  --primary-color: #1E73E8;
  --secondary-color: #0B2A5B;
  --heading-color: #0A1E3F;
  --primary-black-color: #0A1E3F;
  --brand-navy: #0A1E3F;
  --brand-navy-deep: #071634;
  --brand-blue: #1E73E8;
  --brand-blue-light: #2FA4FF;
  --brand-cyan: #29C3FF;
  --brand-gradient: linear-gradient(120deg, #0B2A5B 0%, #1E73E8 55%, #2FA4FF 100%);
  --brand-gradient-soft: linear-gradient(120deg, #123a7a 0%, #1E73E8 100%);
}

body { color: var(--text-color); }

/* ------------------------------------------------------------------ */
/* Titre du héros — taille maîtrisée                                  */
/* ------------------------------------------------------------------ */
.axis-hero .hero-content h1 {
  font-size: 62px;
  line-height: 1.1;
}
@media (max-width: 1199px) { .axis-hero .hero-content h1 { font-size: 52px; } }
@media (max-width: 991px)  { .axis-hero .hero-content h1 { font-size: 44px; } }
@media (max-width: 575px)  { .axis-hero .hero-content h1 { font-size: 34px; } }

/* ------------------------------------------------------------------ */
/* Onglets Mission / Vision / Valeurs — maintien sur une seule ligne  */
/* ------------------------------------------------------------------ */
.axis-about_one .axis-content-box .nav-tabs {
  flex-wrap: nowrap;
  max-width: 100%;
  gap: 6px;
}
.axis-about_one .axis-content-box .nav-tabs li { flex: 1 1 auto; }
.axis-about_one .axis-content-box .nav-tabs .nav-link {
  width: 100%;
  padding: 14px 18px;
  white-space: nowrap;
  text-align: center;
}
@media (max-width: 575px) {
  .axis-about_one .axis-content-box .nav-tabs .nav-link {
    padding: 12px 8px;
    font-size: 12px;
  }
}

/* ------------------------------------------------------------------ */
/* Alignement du bloc bouton + téléphone (section À propos accueil)   */
/* ------------------------------------------------------------------ */
.axis-about_one .axis-content-box .axis-button-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 10px;
}
@media (max-width: 575px) {
  .axis-about_one .axis-content-box .axis-button-wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
}

/* ------------------------------------------------------------------ */
/* Boutons                                                            */
/* ------------------------------------------------------------------ */
.theme-btn.style-one {
  background: var(--brand-gradient);
  border: none;
  box-shadow: 0 12px 30px rgba(30, 115, 232, 0.28);
}
.theme-btn.style-one::before { background: var(--brand-navy); }
.theme-btn.style-two {
  background: transparent;
  border: 2px solid rgba(255,255,255,0.35);
  color: #fff;
}
.theme-btn.style-two::before { background: #fff; }
.theme-btn.style-two:hover { color: var(--brand-navy); border-color:#fff; }
.theme-btn:hover { box-shadow: 0 16px 38px rgba(10, 30, 63, 0.35); }

.theme-btn.style-white {
  background: #fff; color: var(--brand-navy); border: none;
  padding: 17px 36px; border-radius: 8px; font-weight: 600;
  display: inline-flex; align-items: center; gap: 10px;
  transition: all .3s ease;
}
.theme-btn.style-white:hover { background: var(--brand-navy-deep); color: #fff; box-shadow: 0 16px 34px rgba(0,0,0,0.25); }

/* ------------------------------------------------------------------ */
/* En-tête / logo                                                     */
/* ------------------------------------------------------------------ */
.header-area .brand-logo img,
.footer-logo img { max-height: 56px; width: auto; }
.theme-menu-top .brand-logo img { max-height: 48px; }
.header-area.header-two { background: transparent; }
.header-area.sticky {
  background: var(--brand-navy) !important;
  box-shadow: 0 10px 30px rgba(7, 22, 52, 0.28);
}
.main-menu ul li a { font-weight: 500; }
.main-menu ul li a:hover,
.main-menu ul li.active > a { color: var(--brand-blue-light); }
.main-menu ul li .sub-menu li a:hover { color: var(--brand-blue); }
.nav-right-item .axis-support-box .content span { color: rgba(255,255,255,0.7); }
.header-area.sticky .nav-right-item .axis-support-box .content h6 a,
.nav-right-item .axis-support-box .content h6 a { color: #fff; }

/* ------------------------------------------------------------------ */
/* Bannière de page (pages internes)                                  */
/* ------------------------------------------------------------------ */
.page-banner {
  position: relative;
  padding: 200px 0 120px;
  background: var(--brand-navy);
  background-image:
    radial-gradient(circle at 15% 20%, rgba(47, 164, 255, 0.20), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(30, 115, 232, 0.24), transparent 50%),
    linear-gradient(120deg, #071634 0%, #0A1E3F 60%, #0B2A5B 100%);
  overflow: hidden;
  z-index: 1;
}
.page-banner::after {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(47, 164, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 164, 255, 0.06) 1px, transparent 1px);
  background-size: 48px 48px;
  z-index: -1;
  -webkit-mask-image: radial-gradient(circle at 50% 40%, #000 0%, transparent 75%);
  mask-image: radial-gradient(circle at 50% 40%, #000 0%, transparent 75%);
}
.page-banner .banner-title { color: #fff; font-size: 58px; line-height: 1.12; margin-bottom: 16px; }
.page-banner .breadcrumb-nav {
  display: inline-flex; align-items: center; gap: 10px;
  font-weight: 500; color: rgba(255, 255, 255, 0.75);
}
.page-banner .breadcrumb-nav a { color: rgba(255, 255, 255, 0.75); }
.page-banner .breadcrumb-nav a:hover { color: var(--brand-cyan); }
.page-banner .breadcrumb-nav .sep { color: var(--brand-blue-light); }
.page-banner .breadcrumb-nav .current { color: var(--brand-cyan); }
@media (max-width: 767px) {
  .page-banner { padding: 150px 0 70px; }
  .page-banner .banner-title { font-size: 34px; }
}

/* ------------------------------------------------------------------ */
/* Section sombre réutilisable                                        */
/* ------------------------------------------------------------------ */
.bn-dark-section {
  background: var(--brand-navy);
  background-image:
    radial-gradient(circle at 10% 10%, rgba(47,164,255,0.14), transparent 40%),
    radial-gradient(circle at 90% 90%, rgba(30,115,232,0.18), transparent 45%),
    linear-gradient(120deg, #071634 0%, #0A1E3F 100%);
  color: rgba(255,255,255,0.82);
}
.bn-dark-section h1,.bn-dark-section h2,.bn-dark-section h3,
.bn-dark-section h4,.bn-dark-section h5,.bn-dark-section h6 { color:#fff; }
.bn-dark-section p { color: rgba(255,255,255,0.75); }

.bn-gray { background: #F4F7FB; }

/* ------------------------------------------------------------------ */
/* Bandeau clients — carrousel 100% CSS (marquee), sans JS            */
/* Auto-contenu : n'affecte aucun autre élément de la page.           */
/* ------------------------------------------------------------------ */
.bn-clients { background: #F4F7FB; }
.bn-clients-title {
  font-family: var(--heading-font);
  font-size: 18px; font-weight: 500; color: var(--brand-navy);
  margin-bottom: 44px; position: relative;
}
.bn-clients-title::after {
  content: ""; display: block; width: 60px; height: 3px; border-radius: 3px;
  background: var(--brand-gradient); margin: 16px auto 0;
}
.bn-marquee {
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.bn-marquee-track {
  display: flex;
  width: max-content;
  animation: bn-marquee-scroll 28s linear infinite;
}
.bn-marquee:hover .bn-marquee-track { animation-play-state: paused; }
.bn-marquee-item {
  flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  height: 60px; padding: 0 45px;
}
.bn-marquee-item img {
  max-height: 40px; width: auto;
  opacity: .45; filter: grayscale(100%);
  transition: all .35s ease;
}
.bn-marquee-item img:hover { opacity: 1; filter: grayscale(0%); }
@keyframes bn-marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .bn-marquee-track { animation: none; }
}

/* ------------------------------------------------------------------ */
/* Badge                                                              */
/* ------------------------------------------------------------------ */
.bn-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 18px; border-radius:50px; font-weight:600; font-size:14px;
  background:rgba(30,115,232,0.10); color:var(--brand-blue);
  letter-spacing: .3px;
}
.bn-dark-section .bn-badge, .page-banner .bn-badge, .bn-cta .bn-badge {
  background:rgba(47,164,255,0.15); color:var(--brand-cyan);
}

/* ------------------------------------------------------------------ */
/* Cartes de service                                                  */
/* ------------------------------------------------------------------ */
.bn-service-card {
  position: relative; background: #fff; border: 1px solid #e7ecf3;
  border-radius: 18px; padding: 40px 34px; height: 100%;
  transition: all 0.35s ease; overflow: hidden; z-index: 1;
}
.bn-service-card::before {
  content: ""; position: absolute; left: 0; top: 0; height: 4px; width: 0;
  background: var(--brand-gradient); transition: width 0.4s ease;
}
.bn-service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 26px 50px rgba(10, 30, 63, 0.14); border-color: transparent;
}
.bn-service-card:hover::before { width: 100%; }
.bn-service-card .icon {
  width: 74px; height: 74px; display: flex; align-items: center; justify-content: center;
  border-radius: 16px; background: rgba(30, 115, 232, 0.10); color: var(--brand-blue);
  font-size: 30px; margin-bottom: 26px; transition: all 0.35s ease;
}
.bn-service-card:hover .icon { background: var(--brand-gradient); color: #fff; }
.bn-service-card h4 { margin-bottom: 14px; }
.bn-service-card h4 a:hover { color: var(--brand-blue); }
.bn-service-card p { margin-bottom: 22px; }
.bn-service-card .card-link { font-weight: 600; color: var(--brand-navy); }
.bn-service-card .card-link i { margin-left: 8px; transition: transform .3s ease; }
.bn-service-card:hover .card-link { color: var(--brand-blue); }
.bn-service-card:hover .card-link i { transform: translateX(6px); }

/* ------------------------------------------------------------------ */
/* Cartes "features" sur fond sombre                                  */
/* ------------------------------------------------------------------ */
.bn-feature {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px; padding: 34px 30px; height: 100%; transition: all .35s ease;
}
.bn-feature:hover {
  background: rgba(30,115,232,0.12); border-color: rgba(47,164,255,0.4);
  transform: translateY(-6px);
}
.bn-feature .icon {
  width: 64px; height: 64px; border-radius: 14px;
  display:flex;align-items:center;justify-content:center;
  background: var(--brand-gradient); color:#fff; font-size:26px; margin-bottom:22px;
}
.bn-feature h5 { color:#fff; margin-bottom:12px; }
.bn-feature p { color: rgba(255,255,255,0.72); margin:0; }

/* ------------------------------------------------------------------ */
/* Compteurs                                                          */
/* ------------------------------------------------------------------ */
.bn-counter { text-align:center; padding: 20px 10px; }
.bn-counter h2 {
  font-size: 54px; background: var(--brand-gradient);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  margin-bottom: 6px;
}
.bn-counter.on-dark h2 {
  background: linear-gradient(120deg,#7cc4ff,#2FA4FF);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.bn-counter p { font-weight:600; color: var(--heading-color); margin:0; }
.bn-counter.on-dark p { color: rgba(255,255,255,0.85); }

/* ------------------------------------------------------------------ */
/* CTA de marque                                                      */
/* ------------------------------------------------------------------ */
.bn-cta {
  background: var(--brand-gradient); border-radius: 24px; padding: 66px 60px;
  position: relative; overflow: hidden;
}
.bn-cta::after {
  content:""; position:absolute; right:-60px; top:-60px;
  width:260px; height:260px; border-radius:50%; background: rgba(255,255,255,0.10);
}
.bn-cta::before {
  content:""; position:absolute; left:-40px; bottom:-70px;
  width:200px; height:200px; border-radius:50%; background: rgba(255,255,255,0.06);
}
.bn-cta h2 { color:#fff; }
.bn-cta p { color: rgba(255,255,255,0.9); }
@media (max-width:767px){ .bn-cta{ padding:40px 26px; } }

/* ------------------------------------------------------------------ */
/* Étapes / process                                                   */
/* ------------------------------------------------------------------ */
.bn-step {
  background:#fff; border:1px solid #e7ecf3; border-radius:18px;
  padding:38px 30px; height:100%; position:relative; transition:all .35s ease;
}
.bn-step:hover{ box-shadow:0 24px 46px rgba(10,30,63,0.12); transform:translateY(-6px); }
.bn-step .step-num{
  position:absolute; top:26px; right:30px; font-size:44px; font-weight:700;
  font-family:var(--heading-font); color: rgba(30,115,232,0.10);
}
.bn-step .icon{
  width:70px; height:70px; border-radius:16px; display:flex; align-items:center;
  justify-content:center; background:rgba(30,115,232,0.10); color:var(--brand-blue);
  font-size:28px; margin-bottom:24px;
}
.bn-step p { margin: 0; }

/* ------------------------------------------------------------------ */
/* Équipe                                                             */
/* ------------------------------------------------------------------ */
.bn-team-card{
  background:#fff; border-radius:18px; overflow:hidden; border:1px solid #e7ecf3;
  transition:all .35s ease; height:100%;
}
.bn-team-card:hover{ box-shadow:0 26px 50px rgba(10,30,63,0.14); transform:translateY(-6px); }
.bn-team-card .thumb{ position:relative; overflow:hidden; aspect-ratio: 1/1; background:var(--brand-navy); }
.bn-team-card .thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.bn-team-card:hover .thumb img{ transform:scale(1.06); }
.bn-team-card .thumb .social{
  position:absolute; left:0; right:0; bottom:-60px; display:flex; justify-content:center; gap:10px;
  padding:16px; transition:bottom .35s ease;
}
.bn-team-card:hover .thumb .social{ bottom:14px; }
.bn-team-card .thumb .social a{
  width:40px; height:40px; border-radius:50%; background:#fff; color:var(--brand-navy);
  display:flex; align-items:center; justify-content:center;
}
.bn-team-card .thumb .social a:hover{ background:var(--brand-blue); color:#fff; }
.bn-team-card .info{ padding:24px; text-align:center; }
.bn-team-card .info h5{ margin-bottom:4px; }
.bn-team-card .info span{ color:var(--brand-blue); font-weight:500; }

/* ------------------------------------------------------------------ */
/* Projets / réalisations                                             */
/* ------------------------------------------------------------------ */
.bn-project{ position:relative; border-radius:18px; overflow:hidden; }
.bn-project img{ width:100%; height:340px; object-fit:cover; transition:transform .5s ease; }
.bn-project:hover img{ transform:scale(1.06); }
.bn-project .overlay{
  position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
  padding:32px;
  background:linear-gradient(0deg, rgba(7,22,52,0.94) 0%, rgba(7,22,52,0.1) 70%);
  opacity:0; transition:opacity .4s ease;
}
.bn-project:hover .overlay{ opacity:1; }
.bn-project .overlay .tag{ color:var(--brand-cyan); font-weight:600; margin-bottom:8px; }
.bn-project .overlay h4{ color:#fff; margin:0 0 14px; }
.bn-project .overlay h4 a:hover{ color:var(--brand-cyan); }
.bn-project .overlay .plus{
  width:48px; height:48px; border-radius:50%; background:#fff; color:var(--brand-navy);
  display:flex; align-items:center; justify-content:center; font-size:18px;
}
.bn-project .overlay .plus:hover{ background:var(--brand-blue); color:#fff; }

/* ------------------------------------------------------------------ */
/* Tarifs                                                             */
/* ------------------------------------------------------------------ */
.bn-price{
  background:#fff; border:1px solid #e7ecf3; border-radius:20px; padding:44px 36px;
  height:100%; transition:all .35s ease; position:relative; overflow:hidden;
}
.bn-price:hover, .bn-price.featured{ box-shadow:0 30px 60px rgba(10,30,63,0.14); transform:translateY(-6px); border-color:transparent; }
.bn-price.featured{ background: var(--brand-navy); background-image: linear-gradient(120deg,#071634,#0B2A5B); color:rgba(255,255,255,0.8); }
.bn-price.featured h3,.bn-price.featured h2,.bn-price.featured h4,.bn-price.featured .price{ color:#fff; }
.bn-price .plan-name{ font-weight:600; color:var(--brand-blue); margin-bottom:14px; }
.bn-price.featured .plan-name{ color:var(--brand-cyan); }
.bn-price .price{ font-size:48px; font-family:var(--heading-font); font-weight:700; color:var(--heading-color); }
.bn-price .price span{ font-size:16px; font-weight:500; color:var(--text-color); }
.bn-price.featured .price span{ color:rgba(255,255,255,0.7); }
.bn-price ul{ margin:26px 0; }
.bn-price ul li{ padding:9px 0; border-bottom:1px dashed rgba(0,0,0,0.08); }
.bn-price.featured ul li{ border-color:rgba(255,255,255,0.12); }
.bn-price ul li i{ color:var(--brand-blue); margin-right:10px; }
.bn-price.featured ul li i{ color:var(--brand-cyan); }
.bn-price .badge-top{
  position:absolute; top:20px; right:-34px; transform:rotate(45deg);
  background:var(--brand-gradient); color:#fff; padding:6px 40px; font-size:12px; font-weight:600;
}

/* ------------------------------------------------------------------ */
/* Blog                                                               */
/* ------------------------------------------------------------------ */
.bn-blog-card{
  background:#fff; border:1px solid #e7ecf3; border-radius:18px; overflow:hidden;
  height:100%; transition:all .35s ease;
}
.bn-blog-card:hover{ box-shadow:0 26px 50px rgba(10,30,63,0.12); transform:translateY(-6px); }
.bn-blog-card .thumb{ overflow:hidden; height:230px; }
.bn-blog-card .thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.bn-blog-card:hover .thumb img{ transform:scale(1.06); }
.bn-blog-card .content{ padding:28px; }
.bn-blog-card .meta{ display:flex; gap:18px; margin-bottom:12px; font-size:14px; color:var(--text-color); }
.bn-blog-card .meta i{ color:var(--brand-blue); margin-right:6px; }
.bn-blog-card h4{ margin-bottom:16px; }
.bn-blog-card h4 a:hover{ color:var(--brand-blue); }

/* ------------------------------------------------------------------ */
/* Contact                                                            */
/* ------------------------------------------------------------------ */
.contact-form-wrapper .form_control:focus{
  border-color: var(--brand-blue); box-shadow: 0 0 0 3px rgba(30,115,232,0.12);
}
select.form_control{ appearance:auto; }

/* ------------------------------------------------------------------ */
/* Divers                                                             */
/* ------------------------------------------------------------------ */
.check-list.style-two li i{ color: var(--brand-blue); }
.section-title .sub-title{ color: var(--brand-blue); }
.section-title .sub-title .line{ background: var(--brand-blue); }
.bn-icon-mint{ color: var(--brand-blue); }

/* Page 404 */
.bn-404{ font-size:170px; font-weight:700; line-height:1; font-family:var(--heading-font);
  background:var(--brand-gradient); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
@media (max-width:767px){ .bn-404{ font-size:100px; } }

/* Liste de contact latérale (details) */
.bn-side-widget{ background:#F4F7FB; border-radius:16px; padding:28px; }
.bn-side-widget .widget-nav li a{ display:block; padding:10px 0; border-bottom:1px solid #e3e9f1; }
.bn-side-widget .widget-nav li:last-child a{ border-bottom:none; }
.bn-side-widget .widget-nav li a:hover{ color:var(--brand-blue); padding-left:6px; }

/* ------------------------------------------------------------------ */
/* Détail d'article (blog-details)                                     */
/* ------------------------------------------------------------------ */
.bn-post-thumb{ border-radius:18px; overflow:hidden; margin-bottom:34px; }
.bn-post-thumb img{ width:100%; height:auto; display:block; }
.bn-post-meta{ display:flex; flex-wrap:wrap; gap:22px; margin-bottom:20px; font-size:14px; color:var(--text-color); }
.bn-post-meta span i{ color:var(--brand-blue); margin-right:7px; }
.bn-post-body h2{ font-size:34px; margin-bottom:20px; }
.bn-post-body h3{ font-size:24px; margin-bottom:14px; }
.bn-post-body p{ margin-bottom:26px; line-height:1.8; }
.bn-post-body blockquote{
  border-left:4px solid var(--brand-blue); background:#F4F7FB;
  padding:28px 32px; border-radius:12px; margin:0 0 30px;
}
.bn-post-body blockquote p{ margin:0; font-style:italic; color:var(--brand-navy); font-size:18px; }

/* Ligne tags + partage */
.bn-post-footer{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:20px; padding:26px 0; border-top:1px solid #e7ecf3; border-bottom:1px solid #e7ecf3;
  margin:40px 0;
}
.bn-tags{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.bn-tags .label{ font-weight:700; color:var(--brand-navy); margin-right:4px; }
.bn-tags a{
  display:inline-block; padding:7px 16px; background:#F4F7FB; border-radius:50px;
  font-size:13px; color:var(--brand-navy); transition:all .3s ease;
}
.bn-tags a:hover{ background:var(--brand-gradient); color:#fff; }
.bn-share{ display:flex; gap:10px; align-items:center; }
.bn-share .label{ font-weight:700; color:var(--brand-navy); }
.bn-share a{
  width:40px; height:40px; border-radius:50%; display:inline-flex; align-items:center;
  justify-content:center; background:#F4F7FB; color:var(--brand-navy); transition:all .3s ease;
}
.bn-share a:hover{ background:var(--brand-gradient); color:#fff; transform:translateY(-3px); }

/* Encadré auteur */
.bn-author-box{
  display:flex; gap:24px; align-items:center; background:#F4F7FB;
  border-radius:18px; padding:32px; margin-bottom:40px;
}
.bn-author-box .avatar{ flex:0 0 auto; width:96px; height:96px; border-radius:50%; overflow:hidden; }
.bn-author-box .avatar img{ width:100%; height:100%; object-fit:cover; }
.bn-author-box h5{ margin-bottom:6px; }
.bn-author-box .role{ color:var(--brand-blue); font-size:14px; display:block; margin-bottom:10px; }
.bn-author-box p{ margin:0; font-size:15px; }
@media (max-width:575px){ .bn-author-box{ flex-direction:column; text-align:center; } }

/* Navigation article précédent / suivant */
.bn-post-nav{ display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; margin-bottom:10px; }
.bn-post-nav a{
  flex:1 1 45%; min-width:230px; background:#fff; border:1px solid #e7ecf3; border-radius:14px;
  padding:20px 24px; transition:all .3s ease;
}
.bn-post-nav a:hover{ box-shadow:0 20px 40px rgba(10,30,63,0.10); transform:translateY(-4px); }
.bn-post-nav .dir{ font-size:13px; color:var(--brand-blue); display:block; margin-bottom:8px; }
.bn-post-nav a.next{ text-align:right; }
.bn-post-nav h6{ margin:0; color:var(--brand-navy); }

/* Widgets barre latérale (article) */
.bn-widget{ background:#F4F7FB; border-radius:16px; padding:30px; margin-bottom:30px; }
.bn-widget .widget-title{ font-size:20px; margin-bottom:22px; position:relative; padding-bottom:14px; }
.bn-widget .widget-title::after{ content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; background:var(--brand-gradient); border-radius:3px; }
.bn-search-form{ display:flex; }
.bn-search-form input{ flex:1; border:1px solid #e3e9f1; border-right:none; border-radius:8px 0 0 8px; padding:12px 16px; background:#fff; }
.bn-search-form button{ border:none; background:var(--brand-gradient); color:#fff; padding:0 18px; border-radius:0 8px 8px 0; }
.bn-recent-post{ display:flex; gap:14px; align-items:center; }
.bn-recent-post:not(:last-child){ margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid #e3e9f1; }
.bn-recent-post .thumb{ flex:0 0 auto; width:72px; height:72px; border-radius:10px; overflow:hidden; }
.bn-recent-post .thumb img{ width:100%; height:100%; object-fit:cover; }
.bn-recent-post .date{ font-size:12px; color:var(--brand-blue); display:block; margin-bottom:5px; }
.bn-recent-post h6{ margin:0; font-size:15px; line-height:1.4; }
.bn-recent-post h6 a:hover{ color:var(--brand-blue); }
.bn-cat-list li a{ display:flex; justify-content:space-between; padding:11px 0; border-bottom:1px solid #e3e9f1; }
.bn-cat-list li:last-child a{ border-bottom:none; }
.bn-cat-list li a:hover{ color:var(--brand-blue); padding-left:6px; }
.bn-widget-cta{ background:var(--brand-gradient); border-radius:16px; padding:34px 30px; text-align:center; }
.bn-widget-cta h4{ color:#fff; margin-bottom:12px; }
.bn-widget-cta p{ color:rgba(255,255,255,0.9); font-size:14px; margin-bottom:22px; }

/* Language switcher */
.bn-lang-switcher{display:inline-flex;align-items:center}
.bn-lang-form{margin:0}
.bn-lang-btns{display:inline-flex;border:1px solid rgba(255,255,255,.28);border-radius:8px;overflow:hidden;background:rgba(255,255,255,.06)}
.bn-lang-btn{appearance:none;border:0;background:transparent;color:rgba(255,255,255,.75);font-size:12px;font-weight:700;letter-spacing:.04em;padding:6px 10px;line-height:1;cursor:pointer;transition:all .2s ease}
.bn-lang-btn + .bn-lang-btn{border-left:1px solid rgba(255,255,255,.2)}
.bn-lang-btn:hover{color:#fff;background:rgba(255,255,255,.1)}
.bn-lang-btn.is-active{color:#fff;background:var(--brand-blue)}
.theme-menu-bottom .bn-lang-btns{border-color:#d7e0ec;background:#f4f7fb}
.theme-menu-bottom .bn-lang-btn{color:#5a6a85}
.theme-menu-bottom .bn-lang-btn + .bn-lang-btn{border-left-color:#d7e0ec}
.theme-menu-bottom .bn-lang-btn:hover{color:var(--brand-navy);background:#e8eef6}
.theme-menu-bottom .bn-lang-btn.is-active{color:#fff;background:var(--brand-blue)}
