/* =========================================================
   E-KALAN — STYLE.CSS VERSION COMPLÈTE
   Compatible avec index_ekalan_optimise.html
   - Hero optimisé
   - Comment ça marche
   - Méthodes
   - Offres simplifiées
   - Dashboard / témoignages / CTA
   ========================================================= */

:root{
  --ds-text:#111827;
  --ds-muted:#6B7280;
  --ds-border:#E5E7EB;
  --ds-bg:#FFFFFF;
  --ds-bg-soft:#F9FAFB;
  --ds-bg-warm:#F7F0F0;

  --ds-primary:#1E3A8A;
  --ds-primary-2:#6D28D9;
  --ds-accent:#FF8A3D;
  --ds-success:#16A34A;
  --ds-warning:#F59E0B;
  --ds-info:#2563EB;

  --ds-radius:16px;
  --ds-radius-lg:22px;
  --site-max:1240px;
  --site-pad:24px;

  --shadow-sm:0 10px 24px rgba(15,23,42,.06);
  --shadow-md:0 18px 45px rgba(15,23,42,.08);
  --shadow-lg:0 28px 70px rgba(15,23,42,.12);
}

*{ box-sizing:border-box; }
html{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:15px;
  scroll-behavior:smooth;
}
body{
  margin:0;
  background:var(--ds-bg-soft);
  color:var(--ds-text);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.55;
}
html, body{ overflow-x:clip; }
img{ max-width:100%; height:auto; }
a{ transition:all .18s ease; }
section{ position:relative; }

/* =============================
   Helpers
============================= */
.fullbar{
  width:100%;
  background:#fff;
  border-bottom:1px solid var(--ds-border);
}
.inner{
  max-width:1180px;
  margin:0 auto;
  padding-left:18px;
  padding-right:18px;
}
@media (max-width:576px){
  .inner{
    padding-left:14px;
    padding-right:14px;
  }
}

/* =============================
   Header
============================= */
.topbar{ padding:12px 0; }
.ek-brand{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.ek-logo{
  height:54px !important;
  width:auto;
  display:block;
}
.ek-phone{
  text-decoration:none;
  color:var(--ds-text);
  font-weight:900;
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.ek-phone-hours{
  color:var(--ds-muted);
  font-weight:600;
  margin-left:4px;
}
.ek-btn-outline{
  color:var(--ds-primary);
  border:1px solid var(--ds-primary);
  background:transparent;
  border-radius:999px;
  padding:.6rem 1rem;
  font-weight:900;
}
.ek-btn-outline:hover{
  background:rgba(30,58,138,.06);
  color:var(--ds-primary);
}
.ek-btn-gradient{
  background:linear-gradient(135deg,var(--ds-primary),var(--ds-primary-2));
  border:none;
  color:#fff;
  border-radius:999px;
  padding:.65rem 1.1rem;
  font-weight:950;
  box-shadow:0 10px 26px rgba(30,58,138,.18);
}
.ek-btn-gradient:hover{ filter:brightness(1.03); color:#fff; }

/* =============================
   Navigation / mega menu
============================= */
.navrow{ padding:0; }
.ds-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  list-style:none;
  flex-wrap:nowrap;
}
.ds-nav > .nav-item{
  position:relative;
  padding:8px 0;
}
@media (min-width:992px){
  .ds-nav > .nav-item + .nav-item::before{
    content:"";
    position:absolute;
    left:0;
    top:14px;
    bottom:14px;
    width:1px;
    height:26px;
    background:rgba(17,24,39,.18);
  }
}
.ds-nav .nav-link{
  display:block;
  padding:.78rem 1rem;
  margin:0 .45rem;
  border-radius:12px;
  font-weight:850;
  color:var(--ds-text);
  text-decoration:none;
  white-space:nowrap;
  font-size:1rem;
}
.ds-nav .nav-link:hover{
  background:rgba(30,58,138,.06);
  color:var(--ds-primary);
}
.mega-dropdown{ position:static; }
.dropdown-menu{ display:none; }
.dropdown-menu.show{ display:block !important; }

@media (min-width:992px){
  .nav-item.dropdown.mega-dropdown{ position:static !important; }
  .nav-item.dropdown.mega-dropdown > .dropdown-menu.mega-menu{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:100% !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    inset:auto !important;
    transform:none !important;
    background:#fff !important;
    border-top:1px solid rgba(17,24,39,.10) !important;
    border-bottom:1px solid rgba(17,24,39,.10) !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 0 18px 18px !important;
    padding:18px 0 !important;
    box-shadow:0 18px 48px rgba(15,23,42,.12) !important;
  }
  .nav-item.dropdown.mega-dropdown > .dropdown-menu.mega-menu[style]{
    left:0 !important;
    right:0 !important;
    top:100% !important;
    inset:auto !important;
    transform:none !important;
  }
  .mega-inner{
    max-width:1240px !important;
    width:100% !important;
    margin:0 auto !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }
  .mega-menu .row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    margin:0 !important;
  }
  .mega-menu .row > *{ min-width:0 !important; }
  .mega-col{
    min-width:0 !important;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-content:flex-start;
    padding:0 14px;
  }
  .mega-col + .mega-col{ border-left:1px solid var(--ds-border); }
  .mega-title{
    flex:0 0 100%;
    margin:0 0 6px;
    font-size:.92rem;
    letter-spacing:.02em;
    color:#0F172A;
    font-weight:1000;
    text-transform:none;
  }
  .mega-title::after{
    content:"";
    display:block;
    width:54px;
    height:3px;
    margin-top:8px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--ds-primary),var(--ds-accent));
    opacity:.85;
  }
  .mega-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    max-width:100%;
    padding:.5rem .75rem !important;
    border-radius:999px !important;
    background:#fff !important;
    border:1px solid rgba(30,58,138,.16) !important;
    color:#0F172A !important;
    font-weight:850 !important;
    font-size:.95rem !important;
    text-decoration:none !important;
    white-space:normal;
    overflow-wrap:anywhere;
    box-shadow:none !important;
  }
  .mega-link:hover{
    background:rgba(30,58,138,.06) !important;
    border-color:rgba(30,58,138,.28) !important;
    color:var(--ds-primary) !important;
    transform:translateY(-1px);
  }
  .ds-nav .dropdown:hover > .dropdown-menu{ display:block !important; }
}

@media (max-width:1199.98px){
  .ds-nav{ flex-wrap:wrap; justify-content:center; padding:8px 6px; }
  .ds-nav .nav-link{
    margin:.12rem .25rem;
    padding:.65rem .85rem;
    font-size:.95rem;
    white-space:normal;
  }
  .ds-nav > .nav-item + .nav-item::before{ display:none; }
  .mega-menu{
    width:100%;
    left:auto !important;
    right:auto !important;
    border-radius:14px;
    margin-top:10px;
    padding:12px 0;
    box-shadow:none;
    overflow:hidden;
  }
  .mega-inner{ padding-left:12px; padding-right:12px; }
  .mega-col + .mega-col{
    border-left:none;
    border-top:1px solid var(--ds-border);
    margin-top:12px;
    padding-top:12px;
  }
}
@media (max-width:991.98px){
  .mega-dropdown{ position:relative !important; }
  .mega-menu{ position:static !important; top:auto !important; transform:none !important; }
  .ds-nav{
    flex-direction:column;
    align-items:stretch;
    padding:10px 10px;
  }
  .ds-nav .nav-link{
    width:100%;
    text-align:left;
  }
}

/* =============================
   Buttons
============================= */
.mc-btn-primary,
.mc-btn-secondary,
.mc-btn-offer{
  border-radius:999px;
  padding:.85rem 1.2rem;
  font-weight:900;
}
.mc-btn-primary{
  background:#fff;
  border:2px solid var(--ds-primary);
  color:var(--ds-primary);
  box-shadow:0 12px 30px rgba(30,58,138,.16);
}
.mc-btn-primary:hover{
  background:var(--ds-accent);
  border-color:var(--ds-accent);
  color:#fff;
}
.mc-btn-secondary{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(30,58,138,.22);
  color:var(--ds-primary);
}
.mc-btn-secondary:hover{
  background:rgba(30,58,138,.07);
  color:var(--ds-text);
}
.mc-btn-offer{
  border:none;
  color:#fff;
  background:linear-gradient(135deg,var(--ds-primary),var(--ds-primary-2));
  box-shadow:0 12px 30px rgba(30,58,138,.16);
}
.mc-btn-offer:hover{ filter:brightness(1.03); color:#fff; }

/* =============================
   Hero
============================= */
.mc-hero{
  padding:84px 0 76px;
  width:100%;
  min-height:700px;
  background:
    linear-gradient(90deg, rgba(14,26,69,.82), rgba(27,54,122,.58)),
    url("/assets/images/bg_principal.png") center/cover no-repeat;
}
.mc-visual{ position:relative; }
.mc-visual::after{
  content:"";
  position:absolute;
  inset:auto 10% -14% 10%;
  height:34px;
  background:radial-gradient(circle, rgba(15,23,42,.26), rgba(15,23,42,0));
  filter:blur(18px);
  z-index:0;
}
.mc-hero-avatar{
  position:relative;
  z-index:1;
  max-width:420px;
  width:100%;
  height:auto;
  border:10px solid rgba(255,255,255,.16);
  box-shadow:0 26px 60px rgba(15,23,42,.22);
}
.mc-title{
  color:#fff;
  font-weight:1000;
  letter-spacing:-.03em;
  line-height:1.04;
  font-size:clamp(2.2rem,4vw,4rem);
  max-width:11ch;
}
.mc-lead{
  color:rgba(255,255,255,.92);
  font-size:clamp(1rem,1.6vw,1.22rem);
  line-height:1.8;
  max-width:58ch;
  font-weight:700;
}
.mc-hero-cta .btn{ min-width:210px; justify-content:center; }
.mc-trust-item{
  font-weight:800;
  color:#24324B;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.7);
  border-radius:999px;
  padding:.48rem .78rem;
  box-shadow:var(--shadow-sm);
}

/* =============================
   Intro texts
============================= */
.accroche{
  max-width:58ch;
  margin:30px auto 12px;
  padding:0 14px;
  text-align:left;
  font-weight:950;
  line-height:1.35;
  font-size:clamp(1.15rem,2.2vw,1.65rem);
}
.sous-titre{
  max-width:70ch;
  margin:0 auto 38px;
  padding:0 14px;
  color:var(--ds-muted);
  line-height:1.75;
  font-size:1rem;
}

/* =============================
   Marquee matières
============================= */
.mc-marquee{
  background:var(--ds-bg-soft);
  border-top:1px solid var(--ds-border);
  border-bottom:1px solid var(--ds-border);
  overflow:hidden;
  padding:14px 0;
  position:relative;
  margin-top:20px;
}
.mc-marquee::before,
.mc-marquee::after{
  content:"";
  position:absolute;
  top:0;
  width:90px;
  height:100%;
  z-index:2;
  pointer-events:none;
}
.mc-marquee::before{
  left:0;
  background:linear-gradient(to right,var(--ds-bg-soft) 0%,rgba(249,250,251,0) 100%);
}
.mc-marquee::after{
  right:0;
  background:linear-gradient(to left,var(--ds-bg-soft) 0%,rgba(249,250,251,0) 100%);
}
.mc-marquee__track{
  display:flex;
  width:max-content;
  gap:18px;
  animation:mc-marquee-move 26s linear infinite;
}
.mc-marquee__group{
  display:flex;
  align-items:center;
  gap:12px;
  padding-left:12px;
}
.mc-marquee:hover .mc-marquee__track{ animation-play-state:paused; }
.mc-chip-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:.55rem .85rem;
  border-radius:999px;
  text-decoration:none;
  font-weight:850;
  color:#1F2937;
  background:rgba(255,255,255,.92);
  border:1px solid var(--ds-border);
  box-shadow:var(--shadow-sm);
  white-space:nowrap;
}
.mc-chip-link:hover{
  transform:translateY(-1px);
  background:rgba(30,58,138,.06);
  border-color:rgba(30,58,138,.22);
  color:var(--ds-primary);
}
.mc-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#94A3B8;
  box-shadow:0 0 0 4px rgba(148,163,184,.18);
  flex:0 0 10px;
}
.mc-ico{ width:22px; height:22px; flex:0 0 22px; display:inline-block; }
.mc-ico svg{
  width:100%;
  height:100%;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.95;
}
.mc-arrow{ font-weight:900; opacity:.6; }
@keyframes mc-marquee-move{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.mc-chip-link[data-subject="math"] .mc-dot{ background:#3B82F6; box-shadow:0 0 0 4px rgba(59,130,246,.18); }
.mc-chip-link[data-subject="english"] .mc-dot{ background:#8B5CF6; box-shadow:0 0 0 4px rgba(139,92,246,.18); }
.mc-chip-link[data-subject="physics"] .mc-dot{ background:#F59E0B; box-shadow:0 0 0 4px rgba(245,158,11,.18); }
.mc-chip-link[data-subject="chemistry"] .mc-dot{ background:#EF4444; box-shadow:0 0 0 4px rgba(239,68,68,.18); }
.mc-chip-link[data-subject="arabic"] .mc-dot{ background:#22C55E; box-shadow:0 0 0 4px rgba(34,197,94,.18); }
.mc-chip-link[data-subject="french"] .mc-dot{ background:#06B6D4; box-shadow:0 0 0 4px rgba(6,182,212,.18); }
.mc-chip-link[data-subject="svt"] .mc-dot{ background:#10B981; box-shadow:0 0 0 4px rgba(16,185,129,.18); }
.mc-chip-link[data-subject="history"] .mc-dot{ background:#A855F7; box-shadow:0 0 0 4px rgba(168,85,247,.18); }
.mc-chip-link[data-subject="geography"] .mc-dot{ background:#0EA5E9; box-shadow:0 0 0 4px rgba(14,165,233,.18); }
.mc-chip-link[data-subject="economy"] .mc-dot{ background:#F97316; box-shadow:0 0 0 4px rgba(249,115,22,.18); }
.mc-chip-link[data-subject="biology"] .mc-dot{ background:#84CC16; box-shadow:0 0 0 4px rgba(132,204,22,.18); }

/* =============================
   Pills / titles
============================= */
.mc-pill,
.mc-dash-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:.45rem .8rem;
  border-radius:999px;
  font-weight:950;
}
.mc-pill{
  color:#2563EB;
  background:rgba(37,99,235,.10);
  border:1px solid rgba(37,99,235,.18);
}
.mc-dot-pill{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#16A34A;
  box-shadow:0 0 0 4px rgba(22,163,74,.18);
}

/* =============================
   Comment ça marche
============================= */
#comment-ca-marche{
  background:linear-gradient(180deg,#fff 0%, #F9FAFB 100%);
}
#comment-ca-marche .card{
  border:1px solid rgba(30,58,138,.06) !important;
  border-radius:22px !important;
  box-shadow:var(--shadow-md) !important;
  background:rgba(255,255,255,.96);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
#comment-ca-marche .card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-lg) !important;
  border-color:rgba(30,58,138,.16) !important;
}
#comment-ca-marche .sm-icowrap{
  width:56px;
  height:56px;
  border-radius:18px;
}

/* =============================
   Méthodes
============================= */
.sm-methods{
  padding:72px 0;
  background:radial-gradient(900px 320px at 15% 0%, rgba(30,58,138,.10), transparent), var(--ds-bg-warm);
}
.sm-head{
  max-width:900px;
  margin:0 auto 22px;
  text-align:center;
}
.sm-title{
  font-weight:1000;
  letter-spacing:-.02em;
  line-height:1.1;
  color:#111827;
  font-size:clamp(1.7rem,2.8vw,2.5rem);
  margin:0 0 10px;
}
.sm-subtitle{
  color:var(--ds-muted);
  line-height:1.7;
  font-weight:650;
  margin:0;
}
.sm-scroll{
  overflow-x:auto;
  overflow-y:hidden;
  padding:10px 2px 18px;
  margin-top:18px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
.sm-scroll::-webkit-scrollbar{ height:10px; }
.sm-scroll::-webkit-scrollbar-track{ background:rgba(17,24,39,.06); border-radius:999px; }
.sm-scroll::-webkit-scrollbar-thumb{ background:rgba(30,58,138,.25); border-radius:999px; }
.sm-track{ display:flex; gap:14px; width:max-content; padding:0 4px; }
.sm-card{
  scroll-snap-align:start;
  width:300px;
  min-height:210px;
  background:rgba(255,255,255,.94);
  border:1px solid var(--ds-border);
  border-radius:22px;
  padding:18px 18px 16px;
  text-decoration:none;
  color:#111827;
  box-shadow:var(--shadow-md);
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:transform .16s ease, border-color .16s ease, background-color .16s ease;
}
.sm-card:hover{
  transform:translateY(-2px);
  border-color:rgba(30,58,138,.25);
  background:#fff;
}
.sm-icowrap{
  width:46px;
  height:46px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--ds-primary);
  border:1px solid #fff;
  color:#fff;
}
.sm-icowrap svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sm-card-title{ font-weight:950; font-size:1.05rem; }
.sm-card-text{ color:var(--ds-muted); line-height:1.6; font-weight:650; font-size:.98rem; }
.sm-card-cta{ margin-top:auto; font-weight:900; color:var(--ds-primary); opacity:.95; }
.sm-hint{
  margin-top:14px;
  text-align:center;
  color:var(--ds-muted);
  font-weight:650;
  font-size:.95rem;
}
.sm-pill{
  display:inline-block;
  padding:.25rem .55rem;
  border-radius:999px;
  background:rgba(30,58,138,.10);
  border:1px solid rgba(30,58,138,.18);
  color:var(--ds-primary);
  font-weight:900;
  margin-right:6px;
}

/* =============================
   Offres
============================= */
.mc-offres{
  padding:80px 0;
  background:radial-gradient(900px 320px at 15% 0%, rgba(30,58,138,.10), transparent), var(--ds-bg-soft);
}
.mc-offres-head{ max-width:860px; margin:0 auto; }
.mc-offres-title{
  font-weight:1000;
  font-size:clamp(1.7rem,2.8vw,2.4rem);
  letter-spacing:-.02em;
  color:#111827;
}
.mc-offres-subtitle{
  color:var(--ds-muted);
  margin-top:10px;
  font-weight:650;
  line-height:1.7;
}
.mc-offer-card{
  background:#fff;
  border-radius:22px;
  padding:26px 22px 22px;
  border:1px solid var(--ds-border);
  box-shadow:var(--shadow-md);
  height:100%;
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position:relative;
  overflow:hidden;
}
.mc-offer-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-lg);
  border-color:rgba(30,58,138,.18);
}
.mc-offer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.mc-offer-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ds-primary);
  background:rgba(30,58,138,.10);
  border:1px solid rgba(30,58,138,.18);
}
.mc-offer-icon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mc-offer-badge{
  font-weight:900;
  font-size:.82rem;
  padding:.35rem .65rem;
  border-radius:999px;
  background:rgba(17,24,39,.05);
  border:1px solid var(--ds-border);
  color:#111827;
  white-space:nowrap;
}
.mc-offer-title{ font-weight:950; font-size:1.16rem; margin:6px 0 2px; }
.mc-offer-text{ color:var(--ds-muted); line-height:1.65; font-weight:650; }
.mc-offer-list{
  margin:2px 0 0;
  padding-left:1.1rem;
  color:#374151;
  font-weight:650;
  line-height:1.65;
}
.mc-offer-list li{ margin:6px 0; }
.mc-offer-actions{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mc-link-offer{
  text-decoration:none;
  font-weight:900;
  color:var(--ds-primary);
  width:fit-content;
}
.mc-link-offer:hover{ text-decoration:underline; }
.mc-offer-card.is-home{ border-top:4px solid rgba(59,130,246,.9); }
.mc-offer-card.is-group{ border-top:4px solid rgba(245,158,11,.95); }
.mc-offer-card.is-online{ border-top:4px solid rgba(34,197,94,.95); }
.mc-offer-card.is-home .mc-offer-icon{ color:#2563EB; background:rgba(37,99,235,.10); border-color:rgba(37,99,235,.18); }
.mc-offer-card.is-group .mc-offer-icon{ color:#D97706; background:rgba(217,119,6,.10); border-color:rgba(217,119,6,.18); }
.mc-offer-card.is-online .mc-offer-icon{ color:#16A34A; background:rgba(22,163,74,.10); border-color:rgba(22,163,74,.18); }

/* =============================
   Dashboard
============================= */
.mc-dash{
  background:
    radial-gradient(900px 340px at 15% 0%, rgba(37,99,235,.10), transparent),
    radial-gradient(900px 340px at 85% 10%, rgba(249,115,22,.10), transparent),
    var(--ds-bg-soft);
}
.mc-dash-title{
  font-weight:1000;
  letter-spacing:-.02em;
  color:#111827;
  font-size:clamp(1.5rem,2.2vw,2.2rem);
  line-height:1.1;
}
.mc-dash-sub{ color:var(--ds-muted); font-weight:650; line-height:1.6; }
.mc-dash-pill{
  background:rgba(255,255,255,.9);
  border:1px solid var(--ds-border);
  color:var(--ds-muted);
  box-shadow:var(--shadow-sm);
}
.mc-kpi-card{
  background:#fff;
  border:1px solid var(--ds-border);
  border-radius:22px;
  padding:22px;
  box-shadow:var(--shadow-md);
  height:100%;
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.mc-kpi-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-lg);
}
.mc-kpi-top{ display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.mc-kpi-head{ flex:1 1 auto; min-width:180px; }
.mc-kpi-label{ color:var(--ds-muted); font-weight:800; }
.mc-kpi-value{ font-weight:1000; color:#111827; font-size:1.35rem; letter-spacing:-.01em; }
.mc-kpi-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
}
.mc-kpi-icon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.icon-blue{ color:#2563EB; background:rgba(37,99,235,.10); border-color:rgba(37,99,235,.18); }
.icon-violet{ color:#6D28D9; background:rgba(109,40,217,.10); border-color:rgba(109,40,217,.18); }
.icon-green{ color:#16A34A; background:rgba(22,163,74,.10); border-color:rgba(22,163,74,.18); }
.icon-orange{ color:#F97316; background:rgba(249,115,22,.10); border-color:rgba(249,115,22,.18); }
.mc-kpi-badge{
  margin-left:auto;
  padding:.35rem .65rem;
  border-radius:999px;
  font-weight:900;
  font-size:.82rem;
  border:1px solid #E5E7EB;
  background:rgba(17,24,39,.04);
  color:#111827;
  white-space:nowrap;
}
.badge-blue{ border-color:rgba(37,99,235,.22); background:rgba(37,99,235,.10); color:#2563EB; }
.badge-violet{ border-color:rgba(109,40,217,.22); background:rgba(109,40,217,.10); color:#6D28D9; }
.badge-green{ border-color:rgba(22,163,74,.22); background:rgba(22,163,74,.10); color:#16A34A; }
.badge-orange{ border-color:rgba(249,115,22,.22); background:rgba(249,115,22,.10); color:#F97316; }
.mc-kpi-text{ color:var(--ds-muted); line-height:1.65; font-weight:650; }
.mc-metric-name{ color:var(--ds-muted); font-weight:800; font-size:.92rem; }
.mc-metric-num{ color:#111827; font-weight:900; font-size:.92rem; }
.mc-bar{ width:100%; height:10px; background:rgba(17,24,39,.06); border-radius:999px; overflow:hidden; }
.mc-bar-fill{ height:100%; border-radius:999px; }
.fill-blue{ background:linear-gradient(90deg, rgba(37,99,235,.85), rgba(59,130,246,1)); }
.fill-violet{ background:linear-gradient(90deg, rgba(109,40,217,.85), rgba(139,92,246,1)); }
.fill-green{ background:linear-gradient(90deg, rgba(22,163,74,.85), rgba(34,197,94,1)); }
.fill-orange{ background:linear-gradient(90deg, rgba(249,115,22,.85), rgba(245,158,11,1)); }
.mc-spark{ display:flex; gap:8px; align-items:flex-end; height:56px; padding:10px 0 2px; }
.mc-spark-bar{
  width:14%;
  background:linear-gradient(180deg, rgba(22,163,74,.9), rgba(34,197,94,.35));
  border-radius:10px 10px 6px 6px;
  border:1px solid rgba(22,163,74,.18);
}
.mc-kpi-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
}
.mc-mini{ color:var(--ds-muted); font-weight:750; font-size:.92rem; }
.mc-link{ text-decoration:none; font-weight:950; color:#2563EB; width:fit-content; }
.mc-link:hover{ text-decoration:underline; }

/* =============================
   Platform / extra sections
============================= */
.mc-platform,
.mc-reasons,
.ek-cta{
  background:
    radial-gradient(900px 340px at 15% 0%, rgba(30,58,138,.10), transparent),
    var(--ds-bg-soft);
}
.mc-platform-title,
.mc-reasons-title,
.ek-cta-title{
  font-weight:1000;
  letter-spacing:-.02em;
  line-height:1.1;
  color:#111827;
  font-size:clamp(1.7rem,2.5vw,2.5rem);
}
.mc-platform-lead,
.mc-reasons-sub,
.ek-cta-text{
  color:var(--ds-muted);
  line-height:1.7;
  font-weight:650;
}
.mc-platform-visual,
.mc-reasons-visual{
  position:relative;
  background:#fff;
  border:1px solid var(--ds-border);
  border-radius:28px;
  padding:14px;
  box-shadow:var(--shadow-md);
}
.mc-platform-img,
.mc-reasons-img{
  border-radius:20px;
  display:block;
  width:100%;
}
.mc-hl{
  color:var(--ds-primary);
  position:relative;
}
.mc-features{ display:grid; gap:12px; }
.mc-bubble{
  position:absolute;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--ds-border);
  box-shadow:var(--shadow-sm);
  font-size:1.05rem;
}
.mc-bubble.b1{ left:-10px; top:22px; }
.mc-bubble.b2{ right:14px; top:-10px; }
.mc-bubble.b3{ right:-10px; bottom:18px; }
.mc-reasons-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.mc-reason-card{
  background:#fff;
  border:1px solid var(--ds-border);
  border-radius:18px;
  padding:16px;
  box-shadow:var(--shadow-sm);
}
.mc-reason-title{ font-weight:900; color:#111827; }
.mc-reason-text{ color:var(--ds-muted); margin:6px 0 0; }
.ek-cta{ padding:42px 0; border-top:1px solid var(--ds-border); border-bottom:1px solid var(--ds-border); }
.ek-cta-card{
  background:#fff;
  border:1px solid var(--ds-border);
  border-radius:22px;
  padding:22px;
  box-shadow:var(--shadow-md);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

/* =============================
   Témoignages
============================= */
.mc-reco{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(900px 340px at 15% 0%, rgba(37,99,235,.10), transparent),
    radial-gradient(900px 340px at 85% 15%, rgba(249,115,22,.10), transparent),
    var(--ds-bg-soft);
}
.mc-reco-head{ max-width:860px; }
.mc-reco-title{
  font-weight:1000;
  letter-spacing:-.02em;
  font-size:clamp(1.7rem,2.6vw,2.6rem);
  line-height:1.1;
  color:#111827;
  margin:0;
}
.mc-reco-sub{
  color:var(--ds-muted);
  font-weight:650;
  line-height:1.7;
  margin:0;
}
.mc-reco-rating{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
}
.mc-stars{ color:#F59E0B; font-weight:1000; letter-spacing:1px; font-size:1.05rem; }
.mc-rating-text{ color:var(--ds-muted); font-weight:700; }
.mc-review-card{
  background:var(--ds-accent);
  border:1px solid var(--ds-border);
  border-radius:22px;
  box-shadow:var(--shadow-md);
  padding:20px;
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mc-review-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-lg);
  border-color:rgba(37,99,235,.18);
}
.mc-review-top{ display:flex; gap:12px; align-items:center; margin-bottom:12px; }
.mc-avatar{
  width:54px;
  height:54px;
  border-radius:18px;
  object-fit:cover;
  border:1px solid var(--ds-border);
  box-shadow:0 12px 26px rgba(15,23,42,.08);
  background:#fff;
}
.mc-avatar--svg{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#2563EB;
  background:rgba(37,99,235,.10);
  border:1px solid rgba(37,99,235,.18);
}
.mc-avatar--svg svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mc-role-badge{
  position:absolute;
  right:-10px;
  bottom:-10px;
  padding:.25rem .5rem;
  border-radius:999px;
  font-weight:950;
  font-size:.72rem;
  border:1px solid var(--ds-border);
  background:#fff;
}
.mc-review-name{ font-weight:1000; letter-spacing:-.01em; color:#fff; }
.mc-review-loc{ color:rgba(255,255,255,.85); font-weight:650; font-size:.92rem; }
.mc-review-text{ color:#fff; font-weight:650; line-height:1.75; margin:0; }
.mc-review-tags{ display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.mc-tag{
  font-size:.78rem;
  font-weight:900;
  color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  padding:.25rem .55rem;
}
.mc-review-card.is-featured{
  border-color:rgba(109,40,217,.25);
  box-shadow:0 26px 70px rgba(109,40,217,.12);
  transform:translateY(-2px);
}
#blanc{ color:#fff !important; }

/* =============================
   Reveal helpers
============================= */
.reveal-item,
.mc-reveal-item{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .55s ease, transform .55s ease;
  will-change:opacity, transform;
}
.reveal-item.is-visible,
.mc-reveal-item.is-visible,
.reveal-item.revealed,
.mc-reveal-item.revealed{
  opacity:1;
  transform:translateY(0);
}
.reveal-delay-1{ transition-delay:.08s; }
.reveal-delay-2{ transition-delay:.16s; }
.reveal-delay-3{ transition-delay:.24s; }

/* =============================
   Footer spacing helpers
============================= */
.footer,
#site-footer{ position:relative; z-index:2; }

/* =============================
   Responsive
============================= */
@media (max-width:991.98px){
  .mc-hero{
    min-height:auto;
    padding:36px 0 48px;
  }
  .cadre_soutien{ text-align:center; }
  .mc-title{
    max-width:none;
    font-size:2rem;
    line-height:1.12;
    margin-bottom:.75rem !important;
  }
  .mc-lead{
    font-size:1rem;
    line-height:1.7;
    margin-bottom:1rem !important;
    max-width:none;
  }
  .mc-hero-cta{ justify-content:center; }
  .mc-hero-cta .btn{ width:100%; min-width:0; }
  .mc-trust{ justify-content:center; gap:10px !important; }
  .mc-trust-item{ flex:0 0 calc(50% - 10px); text-align:left; font-size:.92rem; }
  .mc-hero-avatar{ max-width:300px; }
  .mc-reasons-grid{ grid-template-columns:1fr; }
}

@media (max-width:576px){
  .ek-logo{ height:42px !important; }
  .accroche{ max-width:34ch; font-size:1.25rem; }
  .sous-titre{ font-size:.98rem; }
  .mc-marquee{ padding:10px 0; }
  .mc-marquee::before, .mc-marquee::after{ width:55px; }
  .mc-chip-link{ padding:.48rem .7rem; font-size:.92rem; }
  .mc-ico{ width:20px; height:20px; flex:0 0 20px; }
  .mc-dot{ width:9px; height:9px; flex:0 0 9px; }
  .mc-marquee__track{ animation-duration:20s; }
  .sm-methods{ padding:56px 0; }
  .sm-head{ text-align:left; }
  .sm-card{ width:84vw; min-height:200px; }
  .mc-offres{ padding:60px 0; }
  .mc-offer-card{ text-align:center; }
  .mc-offer-top{ justify-content:center; flex-wrap:wrap; }
  .mc-link-offer{ margin:0 auto; }
  .mc-kpi-card{ padding:18px; }
  .mc-kpi-foot{ flex-direction:column; align-items:flex-start; }
  .mc-reco-rating{ justify-content:flex-start; }
  .mc-reco-head{ text-align:left !important; }
  .mc-reco-bottom .btn,
  .ek-cta .btn{ width:100%; }
}

@media (max-width:360px){
  .mc-trust-item{ flex:0 0 100%; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .mc-marquee__track{ animation:none; }
  .reveal-item,
  .mc-reveal-item{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}


/* ===== Footer patch restored from original CSS ===== */
.mc-footer{
  position: relative;
  margin-top: 40px;
  background: #0B1220;
  color: rgba(255,255,255,.88);
  overflow: hidden;
}

/* pattern */
.mc-footer-bg{
  position:absolute;
  inset:-80px;
  z-index:0;
  background:
    radial-gradient(900px 320px at 15% 0%, rgba(37,99,235,.22), transparent 60%),
    radial-gradient(900px 320px at 85% 10%, rgba(249,115,22,.16), transparent 60%),
    radial-gradient(700px 260px at 60% 70%, rgba(109,40,217,.14), transparent 60%),
    linear-gradient(transparent, rgba(0,0,0,.18));
  opacity:.9;
  pointer-events:none;
}
.mc-footer *{ position:relative; z-index:1; }

.mc-footer-top{ border-bottom: 1px solid rgba(255,255,255,.10); }
.mc-footer-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 0;
  flex-wrap:wrap;
}

.mc-footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:#fff;
}
.mc-footer-logo{ height:44px; width:auto; display:block; }
.mc-footer-name{ font-weight:1000; letter-spacing:-0.01em; line-height:1.05; }
.mc-footer-tag{ color: rgba(255,255,255,.72); font-weight:650; font-size:.92rem; }

.mc-footer-phone{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color: rgba(255,255,255,.88);
  text-decoration:none;
  font-weight:900;
  white-space:nowrap;
}
.mc-footer-phone small{ color: rgba(255,255,255,.65); font-weight:650; }
.mc-footer-phone:hover{ text-decoration:underline; }

.mc-footer-cta{ display:flex; gap:10px; flex-wrap:wrap; }

/* footer buttons (ne réécrase pas ceux du hero) */
.mc-footer .mc-btn-primary{
  background: linear-gradient(135deg, #2563EB, #6D28D9);
  border:none;
  color:#fff;
}
.mc-footer .mc-btn-primary:hover{ filter: brightness(1.03); color:#fff; }

.mc-footer .mc-btn-secondary{
  background: rgba(37,99,235,.10);
  border: 1px solid rgba(37,99,235,.28);
  color: #CFE0FF;
}
.mc-footer .mc-btn-secondary:hover{ background: rgba(37,99,235,.14); color:#fff; }

.mc-btn-soft{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: #fff;
  border-radius: 16px;
  padding: .75rem 1.05rem;
  font-weight: 950;
}
.mc-btn-soft:hover{ background: rgba(255,255,255,.12); color:#fff; }

.mc-footer-main{ padding: 36px 0 26px; }

.mc-footer-title{
  color:#fff;
  font-weight:1000;
  letter-spacing:-0.01em;
  margin: 0 0 12px;
  font-size:1.1rem;
}
.mc-footer-text{
  color: rgba(255,255,255,.72);
  font-weight:650;
  line-height:1.7;
  margin:0;
}

.mc-social{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
}
.mc-social-link{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color: rgba(255,255,255,.86);
  font-weight:850;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  transition: transform .16s ease, background-color .16s ease;
}
.mc-social-link:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.10);
  color:#fff;
}
.mc-social-ico{
  width:20px; height:20px;
  display:inline-flex;
  color:#fff;
  opacity:.95;
}
.mc-social-ico svg{
  width:100%; height:100%;
  fill:none;
  stroke: currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mc-mini-menu{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px 14px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}
.mc-mini-link{
  color: rgba(255,255,255,.78);
  text-decoration:none;
  font-weight:800;
  padding:6px 2px;
}
.mc-mini-link:hover{ color:#fff; text-decoration:underline; }

.mc-newsletter{
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}
.mc-news-title{ font-weight:1000; color:#fff; margin-bottom:6px; }
.mc-news-text{
  margin:0 0 12px;
  color: rgba(255,255,255,.72);
  font-weight:650;
  line-height:1.6;
}

.mc-news-form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.mc-news-input{
  flex: 1 1 180px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.18);
  color:#fff;
  padding:.75rem .9rem;
  outline:none;
  font-weight:700;
}
.mc-news-input::placeholder{ color: rgba(255,255,255,.55); }

.mc-news-btn{
  border-radius:16px;
  border:none;
  padding:.75rem 1rem;
  font-weight:950;
  color:#fff;
  background: linear-gradient(135deg, #2563EB, #6D28D9);
  box-shadow: 0 12px 30px rgba(37,99,235,.18);
}
.mc-news-btn:hover{ filter: brightness(1.03); }

.mc-news-small{
  margin-top:10px;
  color: rgba(255,255,255,.60);
  font-weight:650;
  font-size:.85rem;
  line-height:1.5;
}

.mc-footer-cols{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
.mc-footer-subtitle{
  color: rgba(255,255,255,.72);
  font-weight:950;
  font-size:.9rem;
  letter-spacing:.02em;
  text-transform: uppercase;
  margin-bottom:8px;
}
.mc-footer-link{
  display:block;
  color: rgba(255,255,255,.78);
  text-decoration:none;
  padding:6px 0;
  font-weight:700;
}
.mc-footer-link:hover{ color:#fff; text-decoration:underline; }

.mc-footer-bottom{
  border-top: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.10);
  padding:14px 0;
}
.mc-footer-bottomrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.mc-footer-copy{
  color: rgba(255,255,255,.70);
  font-weight:650;
}
.mc-footer-legal{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.mc-footer-legal-link{
  color: rgba(255,255,255,.70);
  text-decoration:none;
  font-weight:700;
}
.mc-footer-legal-link:hover{ color:#fff; text-decoration:underline; }
.mc-sep{ color: rgba(255,255,255,.35); }

@media (max-width: 576px){
  .mc-footer-cta .btn{ width:100%; }
  .mc-footer-phone{ width:100%; justify-content:flex-start; }
  .mc-footer-brand{ width:100%; }
  .mc-footer-cols{ grid-template-columns: 1fr; }
  .mc-mini-menu{ grid-template-columns: 1fr; }
  .mc-news-form{ flex-direction:column; }
  .mc-news-btn{ width:100%; }
}



/* ----------------------------
   Raisons / Pourquoi E-KALAN
---------------------------- */
.mc-reasons-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
}
.mc-reason-card{
  background:#fff;
  border:1px solid var(--ds-border);
  border-radius:20px;
  padding:16px 18px;
  box-shadow: 0 14px 34px rgba(15,23,42,.06);
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.mc-reason-title{
  font-weight:900;
  color:#111827;
  margin-bottom:4px;
}
.mc-reason-text{
  color: var(--ds-muted);
  line-height:1.6;
  font-weight:650;
}

.mc-reason-ico{
  width:48px;
  height:48px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 48px;
}

.mc-reason-ico svg{
  width:24px;
  height:24px;
  display:block;
  fill:none;
  stroke: currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ico-blue{
  color:#2563EB;
  background: rgba(37,99,235,.10);
  border:1px solid rgba(37,99,235,.18);
}
.ico-violet{
  color:#6D28D9;
  background: rgba(109,40,217,.10);
  border:1px solid rgba(109,40,217,.18);
}
.ico-green{
  color:#16A34A;
  background: rgba(22,163,74,.10);
  border:1px solid rgba(22,163,74,.18);
}
.ico-orange{
  color:#F97316;
  background: rgba(249,115,22,.10);
  border:1px solid rgba(249,115,22,.18);
}

@media (max-width: 767.98px){
  .mc-reasons-grid{
    grid-template-columns: 1fr;
  }
}
/* =========================
   LOGO NAVBAR PREMIUM
========================= */

.ek-brand{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  line-height:1;
  flex-shrink:0;
}

.ek-logo{
  display:block;
  width:auto;
  height:64px;
  max-width:100%;
  overflow:visible;
  transition:transform .25s ease, filter .25s ease;
  transform-origin:left center;
}

/* texte du logo */
.ek-logo-text{
  paint-order:stroke fill;
}

/* hover léger */
.ek-brand:hover .ek-logo{
  transform:translateY(-1px) scale(1.02);
}

/* animation subtile des ondes */
.ek-wave{
  transform-origin:200px 65px;
  animation: ekWaveFloat 2.8s ease-in-out infinite;
}

.ek-wave-2{
  animation-delay:.25s;
}

@keyframes ekWaveFloat{
  0%, 100%{
    opacity:1;
    transform:translateY(0);
  }
  50%{
    opacity:.82;
    transform:translateY(-1.5px);
  }
}

/* barre du header */
.topbar{
  background:#fff;
  border-bottom:1px solid #E5E7EB;
}

/* si tu utilises un wrapper interne */
.topbar .inner{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

/* responsive tablette */
@media (max-width: 991.98px){
  .ek-logo{
    height:52px;
  }

  .topbar .inner{
    min-height:70px;
  }
}

/* responsive mobile */
@media (max-width: 576px){
  .ek-logo{
    height:42px;
  }

  .topbar .inner{
    min-height:60px;
  }
}

/* accessibilité : pas d'animation si l'utilisateur les réduit */
@media (prefers-reduced-motion: reduce){
  .ek-logo,
  .ek-wave{
    transition:none;
    animation:none;
  }
}


/* ======================================================
   PATCH MOBILE HEADER — E-KALAN
====================================================== */

@media (max-width: 991.98px){

	.ek-header .topbar{
		padding: 10px 0;
		gap: 12px;
	}

	.ek-header .topbar > .ek-brand{
		flex: 1 1 auto;
		min-width: 0;
	}

	.ek-brand{
		display: inline-flex;
		align-items: center;
		max-width: 180px;
	}

	.ek-logo{
		width: 100%;
		height: auto;
		display: block;
	}

	.ek-header .topbar .d-flex.align-items-center.gap-2{
		flex: 0 0 auto;
		gap: 10px !important;
	}

	.ek-btn-outline,
	.ek-btn-gradient{
		min-height: 42px;
		padding: 0 16px;
		border-radius: 999px;
		font-size: 14px;
		font-weight: 800;
		white-space: nowrap;
	}

	.ek-btn-outline{
		border-width: 1.5px;
		box-shadow: 0 6px 14px rgba(15,23,42,.06);
	}

	.ek-btn-gradient{
		box-shadow: 0 8px 18px rgba(79,70,229,.22);
	}

	.navrow{
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.navbar{
		width: 100%;
	}

	.navbar-toggler{
		width: 54px;
		height: 54px;
		border-radius: 16px;
		border: 1.5px solid #c8d4e3;
		background: linear-gradient(180deg, #ffffff, #f8fbff);
		box-shadow: 0 8px 18px rgba(15,23,42,.06);
		padding: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.navbar-toggler:focus{
		box-shadow:
			0 0 0 4px rgba(37,99,235,.10),
			0 8px 18px rgba(15,23,42,.06);
		border-color: #93aed2;
	}

	.navbar-toggler-icon{
		background-size: 22px 22px;
	}

	#mainNav{
		margin-top: 12px;
		padding: 14px;
		border-radius: 22px;
		background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98));
		border: 1.5px solid #c8d4e3;
		box-shadow: 0 16px 30px rgba(15,23,42,.08);
	}

	.ds-nav{
		display: flex;
		flex-direction: column;
		gap: 8px;
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.ds-nav .nav-item{
		width: 100%;
	}

	.ds-nav .nav-link{
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 14px 16px;
		border-radius: 16px;
		background: #ffffff;
		border: 1.5px solid #d7e1ee;
		font-weight: 800;
		color: #0f172a;
		box-shadow: 0 6px 14px rgba(15,23,42,.04);
	}

	.ds-nav .nav-link:hover{
		background: #f8fbff;
		border-color: #bdd0ea;
		color: #1e3a8a;
	}

	.mega-menu{
		position: static !important;
		transform: none !important;
		width: 100%;
		margin-top: 8px;
		padding: 0;
		border: 0;
		box-shadow: none;
		background: transparent;
	}

	.mega-inner{
		padding: 14px;
		border-radius: 18px;
		background: #f8fbff;
		border: 1.5px solid #d7e1ee;
	}

	.mega-col + .mega-col{
		margin-top: 12px;
	}

	.mega-title{
		font-size: 14px;
		font-weight: 900;
		color: #0f172a;
		margin-bottom: 8px;
	}

	.mega-link{
		display: inline-block;
		margin: 4px 10px 4px 0;
		color: #2563eb;
		font-weight: 700;
		text-decoration: none;
	}

	.mega-link:hover{
		color: #1e3a8a;
		text-decoration: underline;
	}
}

@media (max-width: 640px){

	.fullbar .inner{
		padding-left: 14px;
		padding-right: 14px;
	}

	.ek-header .topbar{
		align-items: center;
	}

	.ek-brand{
		max-width: 150px;
	}

	.ek-header .topbar .d-flex.align-items-center.gap-2{
		gap: 8px !important;
	}

	.ek-btn-outline,
	.ek-btn-gradient{
		min-height: 40px;
		padding: 0 14px;
		font-size: 13px;
	}

	.ek-btn-gradient{
		max-width: 140px;
	}

	.navbar-toggler{
		width: 50px;
		height: 50px;
		border-radius: 14px;
	}
}

@media (max-width: 420px){

	.ek-header .topbar{
		flex-wrap: nowrap !important;
	}

	.ek-brand{
		max-width: 132px;
	}

	.ek-btn-outline,
	.ek-btn-gradient{
		min-height: 38px;
		padding: 0 12px;
		font-size: 12px;
	}

	.ek-header .topbar .d-flex.align-items-center.gap-2{
		gap: 6px !important;
	}
}


.ek-header .btn,
.ek-header .ek-btn-outline,
.ek-header .ek-btn-gradient {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
  white-space: nowrap;
}

.ek-header .ek-btn-outline,
.ek-header .ek-btn-gradient {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 700;
}

.ek-header .ek-btn-outline {
  border: 1.5px solid #1e40af;
  color: #1e40af;
  background: #ffffff;
}

.ek-header .ek-btn-gradient {
  border: 0;
  color: #ffffff;
  background: linear-gradient(135deg, #4338ca, #7c3aed);
  box-shadow: 0 10px 24px rgba(124, 58, 237, 0.22);
}

.ek-header .ek-btn-outline:hover,
.ek-header .ek-btn-gradient:hover {
  transform: translateY(-1px);
}

.ek-header .topbar .d-flex.align-items-center.gap-2 {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .ek-header .topbar {
    gap: 10px;
  }

  .ek-header .topbar > .d-flex.align-items-center.gap-2 {
    gap: 8px !important;
  }

  .ek-header .ek-btn-outline,
  .ek-header .ek-btn-gradient {
    min-height: 42px;
    padding: 0 14px;
    font-size: 14px;
  }

  .ek-header .ek-brand {
    display: inline-flex;
    align-items: center;
  }

  .ek-header .ek-logo {
    height: 34px;
    width: auto;
    display: block;
  }
}

.ek-header a.btn span,
.ek-header a.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ek-header .ek-btn-outline,
.ek-header .ek-btn-gradient {
  position: relative;
  overflow: hidden;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease,
    color 0.22s ease,
    border-color 0.22s ease;
  will-change: transform;
}

.ek-header .ek-btn-outline:hover,
.ek-header .ek-btn-gradient:hover {
  transform: translateY(-2px);
}

.ek-header .ek-btn-outline:active,
.ek-header .ek-btn-gradient:active {
  transform: translateY(0) scale(0.98);
}

.ek-header .ek-btn-outline {
  box-shadow: 0 6px 16px rgba(30, 64, 175, 0.08);
}

.ek-header .ek-btn-outline:hover {
  box-shadow: 0 12px 22px rgba(30, 64, 175, 0.16);
  border-color: #1d4ed8;
  background: #eff6ff;
}

.ek-header .ek-btn-gradient {
  box-shadow: 0 10px 24px rgba(124, 58, 237, 0.22);
}

.ek-header .ek-btn-gradient:hover {
  box-shadow: 0 16px 30px rgba(124, 58, 237, 0.30);
  filter: brightness(1.03);
}

/* effet brillance premium */
.ek-header .ek-btn-gradient::after {
  content: "";
  position: absolute;
  top: 0;
  left: -140%;
  width: 90%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.18) 45%,
    rgba(255,255,255,0.38) 50%,
    rgba(255,255,255,0.18) 55%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-20deg);
  transition: left 0.7s ease;
}

.ek-header .ek-btn-gradient:hover::after {
  left: 160%;
}

/* focus clavier propre */
.ek-header .ek-btn-outline:focus-visible,
.ek-header .ek-btn-gradient:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 4px rgba(59, 130, 246, 0.18),
    0 12px 24px rgba(15, 23, 42, 0.10);
}