
:root{
  --primary:#0057c8;
  --primary-dark:#003f99;
  --primary-900:#07182f;
  --secondary:#ffd22e;
  --secondary-dark:#e8b500;
  --text:#15233b;
  --muted:#5f6f89;
  --light:#f5f8fc;
  --white:#fff;
  --border:#e1e8f2;
  --shadow:0 12px 30px rgba(12,35,72,.08);
  --radius:10px;
  --container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, "Segoe UI", Arial, sans-serif;
  color:var(--text);
  background:#fff;
  font-size:14px;
  line-height:1.65;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(var(--container),calc(100% - 40px));margin:auto}
.section{padding:76px 0}
.section-sm{padding:48px 0}
.bg-light{background:var(--light)}
.bg-blue{background:linear-gradient(135deg,var(--primary),#0a7be9)}
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.text-center{text-align:center}
.muted{color:var(--muted)}
.mt-0{margin-top:0}
.mb-0{margin-bottom:0}
.mb-20{margin-bottom:20px}
.small{font-size:13px}

.topbar{
  background:linear-gradient(90deg,#003b91,#0073dd);
  color:#fff;
  font-size:13px;
}
.topbar-inner{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.topbar .contact-item,.socials{display:inline-flex;align-items:center;gap:8px}
.socials a{
  width:24px;height:24px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;
  transition:.25s ease;
}
.socials a:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}

.site-header{
  background:#fff;
  position:sticky;
  top:0;
  z-index:900;
  border-bottom:1px solid rgba(0,0,0,.06);
  box-shadow:0 5px 18px rgba(0,0,0,.05);
}
.header-inner{
  min-height:92px;
  display:flex;
  align-items:center;
  gap:26px;
}
.logo-wrap{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:246px;
}
.logo-wrap img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.logo-text span{display:block;font-size:11px;letter-spacing:.9px;font-weight:700;color:#41516a}
.logo-text strong{display:block;font-size:25px;line-height:1.05;letter-spacing:1.2px;color:#12233e}
.logo-text em{font-size:11px;font-style:normal;font-weight:800;color:#12233e}

.nav-wrap{margin-left:auto;display:flex;align-items:center;gap:18px}
.primary-nav{display:flex;align-items:center;gap:0}
.nav-item{position:relative}
.nav-link{
  padding:36px 11px;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  color:#17233c;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  transition:.25s ease;
}
.nav-link.active,.nav-link:hover{color:var(--primary)}
.nav-link.active::after,.nav-link:hover::after{
  content:"";
  position:absolute;
  left:11px;
  right:11px;
  bottom:22px;
  height:3px;
  border-radius:6px;
  background:var(--primary);
}
.dropdown{
  position:absolute;
  top:100%;
  left:0;
  min-width:265px;
  background:#fff;
  border:1px solid var(--border);
  box-shadow:0 20px 50px rgba(10,35,72,.14);
  border-radius:0 0 8px 8px;
  padding:12px 0;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.25s ease;
}
.nav-item:hover>.dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 18px;
  color:#24344f;
  font-size:13px;
  font-weight:650;
  border-left:3px solid transparent;
}
.dropdown a:hover{background:#f4f8ff;color:var(--primary);border-left-color:var(--primary)}
.header-actions{display:flex;align-items:center;gap:10px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  padding:13px 23px;
  border-radius:5px;
  border:1px solid transparent;
  background:var(--primary);
  color:#fff;
  font-size:13px;
  line-height:1;
  font-weight:800;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 7px 18px rgba(0,87,200,.18);
  transition:.25s ease;
}
.btn:hover{transform:translateY(-2px);background:var(--primary-dark)}
.btn.secondary{background:var(--secondary);color:#10192b;box-shadow:0 7px 18px rgba(255,210,46,.22)}
.btn.secondary:hover{background:var(--secondary-dark)}
.btn.outline{background:#fff;color:#14213d;border-color:#c9d5e7;box-shadow:none}
.btn.outline:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn.small-btn{min-height:36px;padding:10px 14px;font-size:12px}
.search-btn,.mobile-toggle{
  width:42px;height:42px;border:0;background:#fff;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#14213d;
}
.mobile-toggle{display:none;border:1px solid var(--border)}

.hero-slider{
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:#07182f;
}
.hero-slide{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center center;
  opacity:0;
  transition:opacity .7s ease;
}
.hero-slide.active{opacity:1}
.hero-slide::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(4,18,38,.74) 0%,rgba(4,18,38,.50) 42%,rgba(4,18,38,.12) 100%);
}
.hero-content{
  position:relative;
  z-index:2;
  min-height:620px;
  display:flex;
  align-items:center;
}
.hero-text{max-width:640px;color:#fff}
.eyebrow{
  display:flex;align-items:center;gap:12px;
  color:var(--primary);
  font-size:13px;font-weight:850;
  text-transform:uppercase;letter-spacing:.5px;
  margin-bottom:14px;
}
.hero-text .eyebrow{color:#fff}
.eyebrow::before{
  content:"";width:46px;height:3px;border-radius:5px;background:currentColor;
}
.hero-text h1{
  margin:0 0 18px;
  font-size:44px;
  line-height:1.15;
  letter-spacing:-.8px;
  color:#fff;
  font-weight:850;
}
.hero-text p{font-size:17px;max-width:570px;color:rgba(255,255,255,.92);margin:0 0 30px}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
.hero-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  z-index:5;width:52px;height:52px;border-radius:50%;border:0;
  background:rgba(0,0,0,.42);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:.25s ease;
}
.hero-arrow:hover{background:var(--primary)}
.hero-arrow.prev{left:22px}.hero-arrow.next{right:22px}
.hero-dots{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  z-index:5;display:flex;gap:10px;
}
.hero-dots button{
  width:10px;height:10px;border-radius:50%;border:0;background:#fff;opacity:.6;cursor:pointer;
}
.hero-dots button.active{background:var(--primary);opacity:1}

.feature-strip{
  position:relative;
  z-index:10;
  background:#fff;
  box-shadow:var(--shadow);
}
.feature-strip .grid{gap:0}
.feature-item{
  padding:30px 28px;
  display:flex;
  gap:18px;
  border-right:1px solid var(--border);
}
.feature-item:last-child{border-right:0}
.icon-round{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(145deg,var(--primary),#003a94);
  color:#fff;
  display:inline-flex;
  align-items:center;justify-content:center;
  flex:0 0 auto;
  box-shadow:0 10px 25px rgba(0,87,200,.16);
}
.icon-round.small-icon{width:48px;height:48px}
.icon-round.soft{background:#eef5ff;color:var(--primary);box-shadow:none}
.icon-round.yellow{background:var(--secondary);color:#111}
.icon{width:24px;height:24px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.icon.fill{fill:currentColor;stroke:none}
.feature-item h3{font-size:16px;margin:0 0 6px}
.feature-item p{margin:0;color:var(--muted);font-size:13.5px}
.feature-item a{display:inline-flex;margin-top:9px;color:var(--primary);font-weight:800;font-size:13px}

.section-title{max-width:720px;margin:0 auto 34px;text-align:center}
.section-title.left{text-align:left;margin-left:0}
.section-title h2{
  font-size:30px;
  line-height:1.25;
  margin:0 0 12px;
  letter-spacing:-.4px;
}
.section-title p{margin:0;color:var(--muted);font-size:15px}
.card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
  transition:.25s ease;
}
.card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(12,35,72,.12)}
.card.pad{padding:28px}
.card h3{font-size:18px;margin:0 0 10px}
.card p{color:var(--muted);margin:0}
.card-img{height:230px;object-fit:cover;width:100%}
.card-body{padding:22px}
.card-link{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:800;margin-top:16px;font-size:13px}

.about-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}
.video-box{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.video-box img{height:360px;width:100%;object-fit:cover}
.play-btn{
  position:absolute;
  left:50%;top:50%;transform:translate(-50%,-50%);
  width:72px;height:72px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#fff;color:var(--primary);
  box-shadow:0 10px 35px rgba(0,0,0,.25);
}
.check-list{list-style:none;padding:0;margin:22px 0 0}
.check-list li{display:flex;gap:10px;margin:9px 0;color:#283854}
.check-list li svg{color:var(--primary);margin-top:3px;flex:0 0 auto}

.stats{
  background:linear-gradient(135deg,#08214a,#0057c8);
  color:#fff;
  border-radius:14px;
  padding:34px;
}
.stat{padding:12px 4px;text-align:center}
.stat strong{display:block;font-size:32px;line-height:1;color:#fff}
.stat span{font-size:13px;color:rgba(255,255,255,.82)}

.page-hero{
  position:relative;
  padding:92px 0;
  color:#fff;
  background-image:linear-gradient(90deg,rgba(3,20,45,.86),rgba(3,20,45,.48)),url('../img/slider-igisenge-2.jpg');
  background-size:cover;
  background-position:center;
}
.page-hero h1{font-size:38px;line-height:1.18;margin:0 0 12px;color:#fff}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.85)}
.breadcrumb a{font-weight:800}
.subnav-box{
  background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);
  border-radius:8px;padding:14px;margin-top:-34px;position:relative;z-index:5;
}
.subnav-box ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.subnav-box a{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 13px;border-radius:5px;
  background:#f3f7fd;color:#24344f;font-size:13px;font-weight:750;
}
.subnav-box a:hover,.subnav-box a.active{background:var(--primary);color:#fff}

.blog-card .date-badge{
  position:absolute;left:18px;top:18px;background:var(--primary);color:#fff;
  border-radius:6px;padding:8px 10px;font-weight:850;text-align:center;line-height:1.05;
}
.blog-card .img-wrap{position:relative}
.blog-card .date-badge span{display:block;font-size:12px}
.blog-card .date-badge strong{display:block;font-size:20px}
.meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12.5px;margin:10px 0}

.form-layout{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
.form-panel{
  background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);
  border-radius:12px;padding:30px;
}
.form-section{
  padding:0 0 25px;margin-bottom:24px;border-bottom:1px solid var(--border)
}
.form-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.form-section h2,.form-section h3{font-size:22px;margin:0 0 20px;color:var(--primary)}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid.one{grid-template-columns:1fr}
.field label{display:block;font-weight:750;font-size:13px;margin-bottom:6px}
.required{color:#dc2626}
input,select,textarea{
  width:100%;border:1px solid #cfd9e8;border-radius:6px;padding:12px 13px;
  outline:none;background:#fff;color:#14213d;font-size:13.5px;
  transition:.2s ease;
}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,87,200,.10)}
.radio-group,.check-group{display:grid;gap:8px}
.radio-inline,.check-inline{
  display:flex;align-items:flex-start;gap:10px;color:#2d3c54;font-size:13.5px;
}
.radio-inline input,.check-inline input{width:auto;margin-top:4px}
.stepper{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;
  padding:18px 22px;margin-bottom:28px;
}
.step{display:flex;align-items:center;gap:10px;font-weight:800;font-size:13px;color:#728096}
.step b{
  width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#eef3fb;color:#728096;
}
.step.active{color:var(--primary)}.step.active b{background:var(--primary);color:#fff}
.summary-card{position:sticky;top:128px}
.summary-card .logo-mini{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 18px}
.summary-line{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--border);font-size:13.5px}
.summary-line strong{text-align:right}
.notice{background:#edf6ff;border-left:4px solid var(--primary);padding:14px;border-radius:6px;color:#2b4b72;font-size:13px;margin-top:16px}

.plan-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.plan-card{
  border:1px solid var(--border);background:#fff;border-radius:8px;padding:18px 12px;text-align:center;
  cursor:pointer;transition:.2s ease;
}
.plan-card:hover,.plan-card.active{border-color:var(--primary);box-shadow:0 10px 20px rgba(0,87,200,.10);transform:translateY(-3px)}
.plan-card strong{display:block;color:var(--primary);margin-bottom:6px}
.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.option-card{
  border:1px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;
  display:flex;gap:12px;align-items:center;background:#fff;transition:.2s ease;
}
.option-card.active,.option-card:hover{border-color:var(--primary);background:#f5f9ff}
.payment-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.payment-method{
  border:1px solid var(--border);border-radius:8px;min-height:86px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-weight:850;color:#24344f;background:#fff;cursor:pointer;
}
.payment-method.active,.payment-method:hover{border-color:var(--primary);color:var(--primary);background:#f5f9ff}

.cta-band{
  background:linear-gradient(135deg,#006be6,#0042a8);
  border-radius:12px;
  color:#fff;
  padding:34px 40px;
  display:flex;align-items:center;justify-content:space-between;gap:30px;
  overflow:hidden;
  position:relative;
}
.cta-band::after{
  content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;
  border-radius:50%;background:rgba(255,255,255,.10);
}
.cta-band h2{font-size:26px;margin:0 0 6px;color:#fff}
.cta-band p{margin:0;color:rgba(255,255,255,.86)}

.footer{
  background:#07182f;color:#d9e4f3;padding-top:70px;
}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:38px}
.footer-logo{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.footer-logo img{width:70px;height:70px;border-radius:50%;object-fit:cover}
.footer-logo strong{display:block;color:#fff;font-size:22px;line-height:1.05}
.footer h3{color:#fff;font-size:17px;margin:0 0 18px}
.footer p,.footer li,.footer a{color:#b8c5d8;font-size:13.5px}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer a:hover{color:#fff}
.newsletter{display:flex;gap:8px;margin-top:14px}
.newsletter input{background:#fff;border:0}
.newsletter .btn{padding:12px 14px;min-height:42px}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:45px;padding:18px 0;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  color:#9eb0c7;font-size:13px;
}
.footer-bottom-links{display:flex;gap:18px;flex-wrap:wrap}

.table-card{
  overflow:auto;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)
}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{padding:14px 16px;border-bottom:1px solid var(--border);text-align:left}
th{background:#f3f7fd;color:#263751;font-weight:850}
.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf3ff;color:var(--primary);font-weight:800;font-size:12px}
.badge.warn{background:#fff7e0;color:#9b6b00}.badge.ok{background:#eafaf0;color:#167a3b}.badge.lock{background:#f0f3f8;color:#5e6b7d}

.reveal{opacity:0;transform:translateY(20px);transition:.65s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.desktop-only{display:inline-flex}

@media (max-width:1180px){
  .nav-link{padding-left:8px;padding-right:8px;font-size:12px}
  .logo-wrap{min-width:210px}
}
@media (max-width:1024px){
  .mobile-toggle{display:inline-flex}
  .primary-nav{
    position:fixed;top:132px;left:0;right:0;background:#fff;
    display:none;flex-direction:column;align-items:stretch;
    max-height:calc(100vh - 132px);overflow:auto;border-top:1px solid var(--border);box-shadow:var(--shadow)
  }
  .primary-nav.open{display:flex}
  .nav-link{padding:16px 22px;border-bottom:1px solid var(--border)}
  .nav-link::after{display:none}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;display:none;padding:0;background:#f7faff}
  .nav-item.open .dropdown{display:block}
  .header-actions .btn.outline{display:none}
  .hero-text h1{font-size:36px}
  .grid-4,.grid-5{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .about-row,.form-layout{grid-template-columns:1fr}
  .summary-card{position:static}
  .plan-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  body{font-size:13.5px}
  .container{width:min(100% - 28px, var(--container))}
  .topbar-left{display:none}
  .topbar-inner{justify-content:center}
  .header-inner{min-height:82px}
  .logo-wrap img{width:58px;height:58px}
  .logo-text strong{font-size:20px}
  .primary-nav{top:122px;max-height:calc(100vh - 122px)}
  .desktop-only{display:none}
  .hero-slider,.hero-content{min-height:560px}
  .hero-text h1{font-size:31px}
  .hero-text p{font-size:15px}
  .hero-arrow{display:none}
  .feature-strip .grid,.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}
  .feature-item{border-right:0;border-bottom:1px solid var(--border)}
  .section{padding:54px 0}
  .section-title h2{font-size:25px}
  .page-hero{padding:70px 0}
  .page-hero h1{font-size:30px}
  .form-grid,.form-grid.two,.plan-grid,.option-grid,.payment-methods{grid-template-columns:1fr}
  .stepper{align-items:flex-start;flex-direction:column}
  .cta-band{align-items:flex-start;flex-direction:column;padding:28px}
  .footer-grid{grid-template-columns:1fr}
}


/* Articles */
.home-articles .articles-more{margin-top:32px}
.article-card{position:relative}
.article-card .article-image{position:relative;display:block;overflow:hidden}
.article-card .article-image img{height:220px;width:100%;object-fit:cover;transition:.35s ease}
.article-card:hover .article-image img{transform:scale(1.06)}
.article-category{
  position:absolute;left:16px;top:16px;
  background:var(--primary);color:#fff;
  border-radius:999px;padding:6px 12px;
  font-size:12px;font-weight:850;
}
.article-body{padding:22px}
.article-meta{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  color:var(--muted);font-size:12.5px;margin-bottom:12px
}
.article-meta span{display:inline-flex;align-items:center;gap:6px}
.article-meta .icon{width:15px;height:15px;color:var(--primary)}
.article-card h3{font-size:18px;line-height:1.35;margin:0 0 10px}
.article-card h3 a:hover{color:var(--primary)}
.article-card p{color:var(--muted);margin:0}

.articles-layout,.article-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:30px;
  align-items:start;
}
.articles-toolbar{
  display:flex;justify-content:space-between;align-items:flex-end;gap:22px;
  margin-bottom:22px;
}
.articles-toolbar h2{font-size:30px;margin:0}
.articles-search{display:flex;gap:10px;min-width:360px}
.articles-filters{
  display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;
}
.articles-filters a{
  display:inline-flex;align-items:center;
  border:1px solid var(--border);border-radius:999px;
  padding:9px 14px;font-weight:800;font-size:13px;color:#24344f;background:#fff;
}
.articles-filters a:hover,.articles-filters a.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.articles-sidebar{display:grid;gap:22px}
.sidebar-box{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:24px;
}
.sidebar-box h3{font-size:19px;margin:0 0 16px}
.sidebar-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.sidebar-list a{
  display:flex;justify-content:space-between;gap:12px;
  padding:11px 0;border-bottom:1px solid var(--border);
  color:#263751;font-weight:750;font-size:13.5px
}
.sidebar-list li:last-child a{border-bottom:0}
.sidebar-list a:hover{color:var(--primary)}
.mini-post{
  display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)
}
.mini-post:last-child{border-bottom:0}
.mini-post img{width:76px;height:64px;object-fit:cover;border-radius:7px;flex:0 0 auto}
.mini-post span{font-weight:800;line-height:1.35;font-size:13.5px}
.mini-post small{display:block;color:var(--muted);font-weight:600;margin-top:5px}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:36px}
.pagination a{
  min-width:38px;height:38px;border:1px solid var(--border);border-radius:6px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 12px;font-weight:800;background:#fff;color:#24344f;
}
.pagination a.active,.pagination a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.pagination a.disabled{opacity:.55;pointer-events:none}

.article-detail{overflow:hidden}
.article-detail-cover{height:430px;width:100%;object-fit:cover}
.article-detail-content{padding:34px}
.article-detail h1{font-size:34px;line-height:1.2;margin:10px 0 18px}
.article-detail h2{font-size:24px;margin:28px 0 12px}
.article-detail p{color:#3f4d64;font-size:15px}
.article-lead{
  font-size:18px!important;line-height:1.65;
  color:#263751!important;font-weight:650
}
.article-detail blockquote{
  margin:26px 0;padding:22px 26px;border-left:5px solid var(--primary);
  background:#f3f8ff;border-radius:8px;color:#1c3152;font-weight:750;font-size:17px
}
.article-share{
  margin-top:30px;padding-top:20px;border-top:1px solid var(--border);
  display:flex;flex-wrap:wrap;gap:12px;align-items:center
}
.article-share a{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 12px;border-radius:6px;background:#f3f7fd;color:var(--primary);
  font-weight:800;font-size:13px
}
.article-share a:hover{background:var(--primary);color:#fff}

@media (max-width:1024px){
  .articles-layout,.article-detail-layout{grid-template-columns:1fr}
  .articles-toolbar{align-items:flex-start;flex-direction:column}
  .articles-search{min-width:0;width:100%}
}
@media (max-width:720px){
  .articles-search{flex-direction:column}
  .article-detail-cover{height:260px}
  .article-detail-content{padding:24px}
  .article-detail h1{font-size:27px}
}


/* IGISENGE content update pages */
.content-page-row{align-items:start}
.content-article{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:34px;
}
.content-article h2{font-size:30px;line-height:1.25;margin:0 0 18px}
.content-article h3{font-size:22px;margin:28px 0 16px;color:var(--primary)}
.content-article p{
  color:#34435a;
  font-size:15px;
  line-height:1.85;
  text-align:justify;
}
.objectives-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:12px;
}
.objectives-list li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  background:#f6f9fe;
  border:1px solid #e3ecf8;
  border-radius:8px;
  padding:13px 15px;
  color:#27364d;
}
.objectives-list .icon{
  color:var(--primary);
  width:19px;
  height:19px;
  flex:0 0 auto;
  margin-top:4px;
}
.content-side-card{
  background:linear-gradient(180deg,#fff,#f3f8ff);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:28px;
  position:sticky;
  top:130px;
}
.content-side-card img{
  width:128px;
  height:128px;
  object-fit:cover;
  border-radius:50%;
  margin:0 auto 18px;
  border:5px solid #fff;
  box-shadow:0 10px 28px rgba(12,35,72,.12);
}
.content-side-card h3{
  text-align:center;
  font-size:22px;
  margin:0 0 10px;
}
.content-side-card p{text-align:center;color:var(--muted)}
.mini-stats{
  display:grid;
  gap:10px;
  margin:22px 0;
}
.mini-stats div{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  padding:12px;
  text-align:center;
}
.mini-stats strong{
  display:block;
  color:var(--primary);
  font-size:18px;
}
.mini-stats span{
  display:block;
  color:var(--muted);
  font-size:12.5px;
}

/* Annuaire des membres */
.annuaire-toolbar{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px 20px;
  margin-bottom:28px;
}
.annuaire-toolbar strong{display:block;font-size:18px}
.annuaire-toolbar span{display:block;color:var(--muted);font-size:13px}
.annuaire-toolbar form{
  display:flex;
  gap:10px;
  min-width:440px;
}
.members-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.member-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:.25s ease;
}
.member-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 40px rgba(12,35,72,.12);
}
.member-card img{
  width:100%;
  height:260px;
  object-fit:cover;
  object-position:top center;
}
.member-info{
  padding:18px;
  text-align:center;
}
.member-info h3{
  font-size:17px;
  margin:0 0 5px;
}
.member-info span{
  display:inline-flex;
  background:#eaf3ff;
  color:var(--primary);
  font-weight:800;
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
  margin-bottom:8px;
}
.member-info p{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:var(--muted);
  margin:0;
  font-size:13px;
}
.member-info .icon{width:15px;height:15px;color:var(--primary)}

/* Événements */
.events-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.event-card{
  display:grid;
  grid-template-columns:240px 1fr;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
  transition:.25s ease;
}
.event-card:hover{transform:translateY(-5px)}
.event-image{
  position:relative;
  min-height:220px;
}
.event-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.event-image span{
  position:absolute;
  left:14px;
  top:14px;
  background:var(--primary);
  color:#fff;
  border-radius:999px;
  padding:6px 11px;
  font-size:12px;
  font-weight:850;
}
.event-content{
  display:flex;
  gap:18px;
  padding:22px;
}
.event-date{
  width:62px;
  height:72px;
  border-radius:8px;
  background:linear-gradient(135deg,var(--primary),#0a7be9);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  box-shadow:0 10px 22px rgba(0,87,200,.16);
}
.event-date strong{
  display:block;
  font-size:24px;
  line-height:1;
}
.event-date span{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  font-weight:800;
}
.event-content h3{
  margin:0 0 10px;
  font-size:19px;
}
.event-content p{
  display:flex;
  align-items:center;
  gap:7px;
  margin:5px 0;
  color:var(--muted);
  font-size:13.5px;
}
.event-content .icon{width:15px;height:15px;color:var(--primary)}

/* Galerie photo vidéo */
.gallery-filters{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-bottom:28px;
}
.gallery-filters a{
  display:inline-flex;
  border:1px solid var(--border);
  border-radius:999px;
  padding:9px 15px;
  font-weight:800;
  font-size:13px;
  background:#fff;
}
.gallery-filters a.active,
.gallery-filters a:hover{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.gallery-item{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  min-height:270px;
  box-shadow:var(--shadow);
  background:#07182f;
}
.gallery-item img{
  width:100%;
  height:100%;
  min-height:270px;
  object-fit:cover;
  transition:.35s ease;
}
.gallery-item:hover img{transform:scale(1.07)}
.gallery-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(3,20,45,.82));
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:22px;
}
.gallery-overlay h3{
  margin:8px 0 0;
  color:#fff;
  font-size:18px;
}
.gallery-type{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:850;
}
.gallery-type .icon{width:15px;height:15px}
.gallery-play{
  position:absolute;
  right:22px;
  top:22px;
  width:56px;
  height:56px;
  border-radius:50%;
  border:0;
  background:#fff;
  color:var(--primary);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
.gallery-play .icon{width:22px;height:22px;fill:currentColor;stroke:none}

@media (max-width:1024px){
  .members-grid{grid-template-columns:repeat(3,1fr)}
  .events-grid{grid-template-columns:1fr}
  .annuaire-toolbar{align-items:flex-start;flex-direction:column}
  .annuaire-toolbar form{min-width:0;width:100%}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .content-article{padding:24px}
  .content-side-card{position:static}
  .members-grid,.gallery-grid{grid-template-columns:1fr}
  .annuaire-toolbar form{flex-direction:column}
  .event-card{grid-template-columns:1fr}
  .event-image{height:230px}
  .event-content{padding:20px}
}


/* Gouvernance pages : Bureau, Statuts, Présidents d’honneur */
.team-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.team-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:.25s ease;
}
.team-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 46px rgba(12,35,72,.13);
}
.team-photo{
  position:relative;
  height:285px;
  background:#f3f7fd;
}
.team-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
}
.team-photo span{
  position:absolute;
  right:16px;
  bottom:-24px;
  width:52px;
  height:52px;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  border:5px solid #fff;
  box-shadow:0 10px 22px rgba(0,87,200,.18);
}
.team-body{
  padding:34px 20px 22px;
  text-align:center;
}
.team-body h3{
  margin:0 0 5px;
  font-size:18px;
}
.team-body strong{
  display:inline-flex;
  color:var(--primary);
  background:#eaf3ff;
  border-radius:999px;
  padding:5px 11px;
  font-size:12px;
  margin-bottom:12px;
}
.team-body p{
  color:var(--muted);
  margin:0;
  font-size:13.5px;
}

.documents-list{
  display:grid;
  gap:18px;
}
.document-card{
  display:grid;
  grid-template-columns:74px 1fr auto;
  align-items:center;
  gap:20px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:22px;
  transition:.25s ease;
}
.document-card:hover{
  transform:translateY(-4px);
  border-color:#c9dcf7;
}
.document-icon{
  width:66px;
  height:66px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--primary),#0a7be9);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.document-icon .icon{
  width:30px;
  height:30px;
}
.document-content span{
  color:var(--primary);
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
}
.document-content h3{
  margin:4px 0 7px;
  font-size:19px;
}
.document-content p{
  margin:0 0 6px;
  color:var(--muted);
}
.document-content small{
  color:#6b7b94;
  font-weight:700;
}
.document-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.document-notice{
  margin-top:22px;
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.document-notice .icon{
  color:var(--primary);
  flex:0 0 auto;
  margin-top:2px;
}

.honor-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.honor-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
  transition:.25s ease;
  position:relative;
}
.honor-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 46px rgba(12,35,72,.13);
}
.honor-photo{
  position:relative;
  height:300px;
  background:#f3f7fd;
}
.honor-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
}
.honor-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(3,20,45,.55));
}
.honor-photo span{
  position:absolute;
  left:50%;
  bottom:-29px;
  transform:translateX(-50%);
  z-index:2;
  width:58px;
  height:58px;
  border-radius:50%;
  background:var(--secondary);
  color:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  border:5px solid #fff;
  box-shadow:0 10px 22px rgba(255,210,46,.2);
}
.honor-body{
  padding:42px 22px 24px;
  text-align:center;
}
.honor-body h3{
  margin:0 0 5px;
  font-size:18px;
}
.honor-body strong{
  display:inline-flex;
  color:var(--primary);
  background:#eaf3ff;
  border-radius:999px;
  padding:5px 11px;
  font-size:12px;
  margin-bottom:12px;
}
.honor-body p{
  margin:0;
  color:var(--muted);
  font-size:13.5px;
}
.quote-box{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow);
  max-width:850px;
  margin:auto;
  padding:38px;
  text-align:center;
}
.quote-box h2{
  margin:16px 0 10px;
  font-size:28px;
}
.quote-box p{
  margin:0;
  color:var(--muted);
  font-size:15px;
}

@media (max-width:1024px){
  .team-grid,.honor-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .document-card{
    grid-template-columns:64px 1fr;
  }
  .document-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
  }
}
@media (max-width:720px){
  .team-grid,.honor-grid{
    grid-template-columns:1fr;
  }
  .document-card{
    grid-template-columns:1fr;
    text-align:center;
  }
  .document-icon{
    margin:auto;
  }
  .document-actions{
    justify-content:center;
  }
  .quote-box{
    padding:28px 20px;
  }
}

/* CORRECTION DÉFINITIVE — Bureau exécutif : rond/icône centrés au-dessus du nom */
.team-card .team-photo{
  position:relative !important;
  overflow:visible !important;
}

.team-card .team-photo > span.team-role-icon{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:-26px !important;
  transform:translateX(-50%) !important;
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  min-height:54px !important;
  max-width:54px !important;
  max-height:54px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:50% !important;
  background:var(--primary) !important;
  color:#fff !important;
  border:5px solid #fff !important;
  box-shadow:0 10px 22px rgba(0,87,200,.18) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  z-index:10 !important;
  line-height:1 !important;
  font-size:0 !important;
}

.team-card .team-photo > span.team-role-icon::before{
  content:"" !important;
  width:22px !important;
  height:22px !important;
  display:block !important;
  background:currentColor !important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 7h20v14H2z M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2 M2 13h20'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 7h20v14H2z M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2 M2 13h20'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.team-card .team-photo > span.team-role-icon svg,
.team-card .team-photo > span.team-role-icon .icon{
  display:none !important;
}

.team-card .team-body{
  padding-top:42px !important;
}

/* CORRECTION MENU DESKTOP — menu centré et mieux réparti */
@media (min-width:1025px){
  .site-header{
    overflow:visible;
  }

  .header-inner{
    position:relative;
    min-height:126px;
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-areas:
      "logo actions"
      "menu menu";
    align-items:center;
    gap:0 24px;
    padding-top:10px;
  }

  .logo-wrap{
    grid-area:logo;
    min-width:0;
  }

  .nav-wrap{
    grid-area:menu;
    width:100%;
    margin-left:0 !important;
    display:flex;
    align-items:center;
    justify-content:center;
    border-top:1px solid rgba(0,0,0,.06);
    margin-top:8px;
    position:relative;
  }

  .primary-nav{
    width:100%;
    max-width:1180px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
    margin:0 auto;
  }

  .header-actions{
    position:absolute;
    right:0;
    top:-71px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
  }

  .nav-link{
    padding:19px 9px !important;
    font-size:12px !important;
    letter-spacing:.1px;
  }

  .nav-link.active::after,
  .nav-link:hover::after{
    left:9px;
    right:9px;
    bottom:8px;
  }

  .dropdown{
    top:100%;
    z-index:999;
  }
}

/* Menu desktop moyen : réduire légèrement pour éviter le débordement */
@media (min-width:1025px) and (max-width:1280px){
  .container{
    width:min(1240px, calc(100% - 28px));
  }

  .nav-link{
    padding-left:7px !important;
    padding-right:7px !important;
    font-size:11.2px !important;
  }

  .logo-wrap img{
    width:62px;
    height:62px;
  }

  .logo-text strong{
    font-size:22px;
  }
}

/* Boutons en chargement : désactivés + spinner */
.btn.is-loading,button.is-loading{pointer-events:none;opacity:.8;cursor:progress}
.btn.is-loading::before,button.is-loading::before{content:"";display:inline-block;width:1em;height:1em;margin-right:.55em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:igs-spin .7s linear infinite;vertical-align:-.15em}
@keyframes igs-spin{to{transform:rotate(360deg)}}
