/* ==========================================================================
   ISSEP KSAR SAÏD — Feuille de style additionnelle
   Institut Supérieur du Sport et de l'Education Physique de Ksar-Saïd
   Vient se greffer sur bootstrap.min.css + style.css (Dreams LMS template).
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800;900&family=Cairo:wght@500;600;700;800&display=swap");

/* --------------------------------------------------------------------------
   1. THEME TOKENS — recolore tout le design-system du template (le template
   pilote ses boutons, liens, badges, icônes via ces variables CSS).
   -------------------------------------------------------------------------- */
:root{
  --issep-blue:        #0f3a8c;
  --issep-blue-dark:   #082860;
  --issep-blue-light:  #eaf0fb;
  --issep-navy:        #071c3f;
  --issep-orange:      #f2701d;
  --issep-orange-dark: #cc5710;
  --issep-orange-light:#fef0e6;
  --issep-ink:         #1c2433;
  --issep-gray:        #667085;
  --issep-line:        #e6e9f2;

  /* Pilote le template Dreams LMS (utilisé 700+ fois dans style.css) */
  --primary: var(--issep-blue);
  --primary-hover: var(--issep-blue-dark);
  --secondary: var(--issep-orange);
  --secondary-hover: var(--issep-orange-dark);
  --light: var(--issep-blue-light);

  /* Pilote Bootstrap */
  --bs-primary: var(--issep-blue);
  --bs-primary-rgb: 15,58,140;
  --bs-secondary: var(--issep-orange);
  --bs-secondary-rgb: 242,112,29;
  --bs-link-color: var(--issep-blue);
  --bs-link-hover-color: var(--issep-orange);
  --bs-body-font-family: "Inter", sans-serif;
  --issep-heading-font: "Poppins", sans-serif;
}

html[lang="ar"], body.lang-ar{
  --issep-heading-font: "Cairo", "Poppins", sans-serif;
  --bs-body-font-family: "Cairo", "Inter", sans-serif;
}

/* --------------------------------------------------------------------------
   2. BASE
   -------------------------------------------------------------------------- */
body{
  font-family: var(--bs-body-font-family);
  color: var(--issep-ink);
}
h1,h2,h3,h4,h5,h6,
.issep-font-heading{
  font-family: var(--issep-heading-font);
  font-weight: 700;
  color: var(--issep-navy);
}
a{ transition: all .25s ease; }
img{ max-width: 100%; }
::selection{ background: var(--issep-orange); color:#fff; }

.issep-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family: var(--issep-heading-font);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--issep-orange);
  background: var(--issep-orange-light);
  border: 1px solid rgba(242,112,29,.25);
  padding: 6px 16px;
  border-radius: 30px;
  margin-bottom: 16px;
}
.issep-eyebrow i{ font-size: 12px; }

.issep-section-head{
  max-width: 700px;
  margin-bottom: 48px;
}
.issep-section-head.text-center{ margin-left:auto; margin-right:auto; }
.issep-section-head h2{
  font-size: 38px;
  line-height: 1.25;
  margin-bottom: 14px;
}
.issep-section-head p{
  color: var(--issep-gray);
  font-size: 16px;
  margin-bottom: 0;
}
.issep-section-head .issep-head-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 24px;
  flex-wrap: wrap;
}

section{ position: relative; }
.issep-py{ padding: 100px 0; }
@media(max-width:991px){ .issep-py{ padding: 70px 0; } }

.bg-issep-light{ background: var(--issep-blue-light); }
.bg-issep-navy{ background: var(--issep-navy); }
.bg-issep-blue{ background: var(--issep-blue); }

/* Buttons ------------------------------------------------------------- */
.btn{ font-family: var(--issep-heading-font); font-weight: 600; }
.btn-issep-primary{
  background: var(--issep-blue);
  border: 1px solid var(--issep-blue);
  color:#fff;
  padding: 13px 28px;
  border-radius: 8px;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.btn-issep-primary:hover{ background: var(--issep-blue-dark); border-color: var(--issep-blue-dark); color:#fff; }
.btn-issep-orange{
  background: var(--issep-orange);
  border: 1px solid var(--issep-orange);
  color:#fff;
  padding: 13px 28px;
  border-radius: 8px;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.btn-issep-orange:hover{ background: var(--issep-orange-dark); border-color: var(--issep-orange-dark); color:#fff; }
.btn-issep-outline{
  background: transparent;
  border: 1px solid rgba(255,255,255,.5);
  color:#fff;
  padding: 13px 28px;
  border-radius: 8px;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.btn-issep-outline:hover{ background: #fff; color: var(--issep-blue); border-color:#fff; }
.btn-issep-outline-blue{
  background: transparent;
  border: 1px solid var(--issep-blue);
  color: var(--issep-blue);
  padding: 13px 28px;
  border-radius: 8px;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.btn-issep-outline-blue:hover{ background: var(--issep-blue); color:#fff; }

/* ==========================================================================
   3. HEADER / NAVBAR / MEGA MENU
   ========================================================================== */
.issep-topbar{
  background: var(--issep-navy);
  color: rgba(255,255,255,.85);
  font-size: 13px;
  padding: 8px 0;
  position: relative;
  z-index: 1060;
}
.issep-topbar a{ color: rgba(255,255,255,.85); }
.issep-topbar a:hover{ color: var(--issep-orange); }
.issep-topbar .issep-topbar-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-inline-end: 26px;
}
.issep-topbar .issep-topbar-item i{ color: var(--issep-orange); }
.issep-topbar .issep-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;height:26px;
  border-radius:50%;
  background: rgba(255,255,255,.12);
  margin-inline-start:6px;
  font-size:12px;
}
.issep-topbar .issep-social a:hover{ background: var(--issep-orange); color:#fff; }

header.header-three{
  background: #fff;
  box-shadow: 0 1px 0 rgba(15,58,140,.08);
  position: sticky !important;
  top: 0;
  z-index: 1050;
}
header.header-three.fixed{
  box-shadow: 0 10px 30px rgba(7,28,63,.1);
}
.navbar-logo .header-logo img.logo{
  height: 62px;
  width: auto;
}
.main-menu-wrapper .main-nav > li > a{
  font-family: var(--issep-heading-font);
  font-weight: 600;
  font-size: 15px;
  color: var(--issep-navy);
}
.main-menu-wrapper .main-nav > li.active > a,
.main-menu-wrapper .main-nav > li:hover > a{
  color: var(--issep-blue);
}
.main-menu-wrapper .main-nav > li > a{ display:flex; align-items:center; }
.main-menu-wrapper .main-nav > li > a i{
  font-size: 9px;
  margin-inline-start:6px;
  color: var(--issep-gray);
  transition: transform .25s ease, color .25s ease;
}
.main-menu-wrapper .main-nav > li:hover > a i,
.main-menu-wrapper .main-nav > li.active > a i{
  color: var(--issep-orange);
  transform: translateY(1px) rotate(180deg);
}

/* Mega menu — pleine largeur, sans icônes, design clair */
.issep-mega-full{
  width:100%;
  background:#fff;
  border-top: 3px solid var(--issep-orange);
  box-shadow: 0 24px 48px rgba(7,28,63,.12);
}
.issep-mega{ padding: 36px 0; }
.issep-mega-col{ padding: 0 28px; }
.issep-mega-col + .issep-mega-col{
  border-inline-start: 1px solid var(--issep-line);
}
.issep-mega-col h6{
  font-family: var(--issep-heading-font);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--issep-navy);
  margin-bottom: 18px;
  padding-bottom: 12px;
  font-weight: 700;
  border-bottom: 2px solid var(--issep-blue-light);
}
.issep-mega-col ul{ list-style:none; padding:0; margin:0; }
.issep-mega-col ul li{ margin-bottom: 2px; }
.issep-mega-col ul li a{
  display:block;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--issep-ink);
  font-size: 14px;
  line-height:1.4;
  white-space: normal !important;
  overflow-wrap: break-word;
  width: auto !important;
}
.issep-mega-col ul li a:hover{ background: var(--issep-blue-light); color: var(--issep-blue); padding-inline-start:18px; }

.issep-mega-col-dept{ padding: 18px 28px; }
.issep-mega-col-dept a{ display:block; }
.issep-mega-col-dept h6{
  font-family: var(--issep-heading-font);
  font-size: 15px;
  font-weight: 700;
  color: var(--issep-navy);
  border:0; padding:0; margin-bottom:4px;
  text-transform:none; letter-spacing:0;
}
.issep-mega-col-dept span{ font-size: 13px; color: var(--issep-gray); }
.issep-mega-col-dept:hover h6{ color: var(--issep-blue); }

.issep-mega-panel{
  background: var(--issep-blue-light);
  border-radius: 14px;
  padding: 24px;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.issep-mega-panel h6{ color: var(--issep-navy); font-family:var(--issep-heading-font); font-size:16px; margin-bottom:8px; border:0; padding:0; text-transform:none; letter-spacing:0;}
.issep-mega-panel p{ color: var(--issep-gray); font-size:13.5px; margin-bottom:16px; }
.issep-mega-panel a{ color: var(--issep-blue); font-weight:700; font-size:14px; display:inline-flex; align-items:center; gap:6px; }
.issep-mega-panel a:hover{ color: var(--issep-orange); gap:10px; }

.issep-topbar .issep-topbar-lang.dropdown .dropdown-toggle{
  color: rgba(255,255,255,.9);
  font-size: 12.5px;
  font-weight: 600;
  border: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  display:flex; align-items:center; gap:6px;
}
.issep-topbar .issep-topbar-lang.dropdown .dropdown-toggle:hover{ color: var(--issep-orange); }
.issep-topbar-lang .dropdown-menu{ min-width: 160px; }

.header-btn .icon-btn{
  width:44px;height:44px;
  border-radius:50%;
  border:1px solid var(--issep-line);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color: var(--issep-blue);
}
.header-btn .icon-btn:hover{ background: var(--issep-blue); border-color:var(--issep-blue); color:#fff; }
.flag-dropdown .dropdown-toggle{
  display:flex; align-items:center; gap:8px;
  border:1px solid var(--issep-line);
  border-radius:30px;
  padding:8px 14px;
  font-weight:600;
  font-size:13.5px;
  color: var(--issep-navy);
}
.flag-dropdown img{ width:20px; height:20px; border-radius:50%; object-fit:cover; }
.issep-apply-btn{ white-space:nowrap; }

/* Mobile nav */
@media(max-width:991px){
  .navbar-logo .header-logo img.logo{ height:46px; }
  header .main-menu-wrapper .menu-header .menu-logo img{ width:auto !important; max-height:44px; }
  .issep-mega-col + .issep-mega-col{ border-inline-start:none; border-top:1px solid var(--issep-line); padding-top:16px; margin-top:16px;}
}

/* ==========================================================================
   4. HERO
   ========================================================================== */
.issep-hero{
  position: relative;
  padding: 190px 0 130px;
  background:#071432;
  overflow:hidden;
}
.issep-hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.issep-hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(100deg, rgba(7,20,50,.92) 15%, rgba(7,20,50,.68) 55%, rgba(15,58,140,.55) 100%);
  z-index:1;
}
.issep-hero::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(0deg, #fff 0%, rgba(255,255,255,0) 18%);
  pointer-events:none;
  z-index:1;
}
.issep-hero .container{ position:relative; z-index:2; }
.issep-hero-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background: rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(6px);
  color:#fff;
  padding:8px 18px;
  border-radius:30px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
  margin-bottom:22px;
}
.issep-hero-badge i{ color: var(--issep-orange); }
.issep-hero h1{
  color:#fff;
  font-size: 54px;
  line-height:1.18;
  margin-bottom:22px;
  max-width: 720px;
}
.issep-hero h1 span{ color: var(--issep-orange); }
.issep-hero p.lead{
  color: rgba(255,255,255,.82);
  font-size:17.5px;
  max-width: 560px;
  margin-bottom:36px;
}
.issep-hero-cta{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:64px; }
.issep-hero-stats{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  background:#fff;
  border-radius:18px;
  box-shadow: 0 25px 60px rgba(7,28,63,.18);
  overflow:hidden;
}
.issep-hero-stats .item{
  padding:26px 20px;
  text-align:center;
  border-inline-end:1px solid var(--issep-line);
}
.issep-hero-stats .item:last-child{ border-inline-end:none; }
.issep-hero-stats .item h3{
  font-size:30px;
  color: var(--issep-blue);
  margin-bottom:4px;
}
.issep-hero-stats .item h3 span{ color:var(--issep-orange); }
.issep-hero-stats .item p{ margin:0; font-size:13px; color:var(--issep-gray); font-weight:600; }
@media(max-width:767px){
  .issep-hero{ padding:150px 0 90px; }
  .issep-hero h1{ font-size:34px; }
  .issep-hero-stats{ grid-template-columns:repeat(2,1fr); }
  .issep-hero-stats .item:nth-child(2){ border-inline-end:none; }
  .issep-hero-stats .item{ border-bottom:1px solid var(--issep-line); }
}

/* ==========================================================================
   5. VIDEO SECTION
   ========================================================================== */
.issep-video-intro{ max-width: 780px; margin: 0 auto 44px; text-align:center; }
.issep-video-frame{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 30px 70px rgba(7,28,63,.25);
  isolation:isolate;
}
.issep-video-frame img{ width:100%; height:520px; object-fit:cover; display:block; }
.issep-video-frame::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(7,20,50,.15) 0%, rgba(7,20,50,.75) 100%);
  z-index:1;
}
.issep-play-btn{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:92px; height:92px;
  border-radius:50%;
  background: var(--issep-orange);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:26px;
  z-index:2;
  box-shadow: 0 0 0 0 rgba(242,112,29,.6);
  animation: issepPulse 2.2s infinite;
}
.issep-play-btn:hover{ background:#fff; color:var(--issep-orange); }
@keyframes issepPulse{
  0%{ box-shadow:0 0 0 0 rgba(242,112,29,.55);}
  70%{ box-shadow:0 0 0 26px rgba(242,112,29,0);}
  100%{ box-shadow:0 0 0 0 rgba(242,112,29,0);}
}
.issep-video-caption{
  position:absolute; z-index:2; bottom:28px; inset-inline-start:28px; inset-inline-end:28px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;
  color:#fff;
}
.issep-video-caption h5{ color:#fff; margin:0; }
.issep-video-caption span{ font-size:13px; color:rgba(255,255,255,.75); }

/* Lightbox */
.issep-video-modal{
  display:none; position:fixed; inset:0; z-index:2000;
  background: rgba(3,10,26,.92);
  align-items:center; justify-content:center; padding:20px;
}
.issep-video-modal.active{ display:flex; }
.issep-video-modal .box{ width:100%; max-width:960px; aspect-ratio:16/9; position:relative; }
.issep-video-modal iframe{ width:100%; height:100%; border-radius:12px; border:0; }
.issep-video-modal .close-video{
  position:absolute; top:-46px; right:0; color:#fff; font-size:22px;
  width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.4);
  display:flex;align-items:center;justify-content:center;
}

/* ==========================================================================
   6. ABOUT
   ========================================================================== */
.issep-about-media{ position:relative; }
.issep-about-media .main-img{
  border-radius:20px;
  overflow:hidden;
  box-shadow: 0 25px 60px rgba(7,28,63,.18);
}
.issep-about-media .main-img img{ width:100%; height:520px; object-fit:cover; display:block; }
.issep-about-badge{
  position:absolute;
  bottom:-30px;
  inset-inline-start:-30px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 20px 45px rgba(7,28,63,.2);
  padding:20px 24px;
  display:flex;
  align-items:center;
  gap:14px;
  max-width:260px;
}
.issep-about-badge .ico{
  width:52px;height:52px;border-radius:12px;
  background:var(--issep-orange-light); color:var(--issep-orange);
  display:flex;align-items:center;justify-content:center; font-size:22px; flex:none;
}
.issep-about-badge h4{ margin:0; font-size:22px; color:var(--issep-blue); }
.issep-about-badge span{ font-size:12.5px; color:var(--issep-gray); font-weight:600; }
.issep-about-year{
  position:absolute; top:-24px; inset-inline-end:-16px;
  background: var(--issep-blue);
  color:#fff;
  border-radius:50%;
  width:118px;height:118px;
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  text-align:center;
  box-shadow:0 15px 35px rgba(15,58,140,.35);
  border:4px solid #fff;
}
.issep-about-year strong{ font-size:22px; line-height:1; font-family:var(--issep-heading-font);}
.issep-about-year small{ font-size:10px; text-transform:uppercase; letter-spacing:.04em; }

.issep-about-list{ list-style:none; padding:0; margin:26px 0 32px; }
.issep-about-list li{
  display:flex; align-items:flex-start; gap:14px;
  padding:14px 0;
  border-bottom:1px dashed var(--issep-line);
}
.issep-about-list li:last-child{ border-bottom:none; }
.issep-about-list .ico{
  width:38px;height:38px;border-radius:10px; flex:none;
  background:var(--issep-blue-light); color:var(--issep-blue);
  display:flex;align-items:center;justify-content:center;
}
.issep-about-list h6{ margin:0 0 3px; font-size:15.5px; }
.issep-about-list p{ margin:0; font-size:13.8px; color:var(--issep-gray); }

/* ==========================================================================
   7. NEWS
   ========================================================================== */
.issep-news-card{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--issep-line);
  height:100%;
  transition: all .3s ease;
}
.issep-news-card:hover{ transform:translateY(-6px); box-shadow:0 25px 50px rgba(7,28,63,.14); border-color:transparent; }
.issep-news-card .thumb{ position:relative; height:220px; overflow:hidden; }
.issep-news-card .thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.issep-news-card:hover .thumb img{ transform:scale(1.08); }
.issep-news-card .tag{
  position:absolute; top:16px; inset-inline-start:16px;
  background: var(--issep-orange); color:#fff;
  font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.03em;
  padding:6px 14px; border-radius:30px;
}
.issep-news-card .date{
  position:absolute; bottom:-20px; inset-inline-end:20px;
  background:#fff; color:var(--issep-blue);
  border-radius:12px; text-align:center; padding:8px 14px;
  box-shadow:0 10px 25px rgba(7,28,63,.15);
  font-family:var(--issep-heading-font); font-weight:700; line-height:1.1;
}
.issep-news-card .date span{ display:block; font-size:11px; color:var(--issep-gray); font-weight:600; }
.issep-news-card .body{ padding:30px 24px 24px; }
.issep-news-card .meta{ display:flex; gap:16px; font-size:12.5px; color:var(--issep-gray); margin-bottom:12px; }
.issep-news-card .meta span{ display:inline-flex; align-items:center; gap:6px; }
.issep-news-card .meta i{ color:var(--issep-orange); }
.issep-news-card h5{ font-size:18.5px; line-height:1.4; margin-bottom:12px; }
.issep-news-card h5 a{ color:var(--issep-navy); }
.issep-news-card h5 a:hover{ color:var(--issep-blue); }
.issep-news-card .read-more{ font-size:13.5px; font-weight:700; color:var(--issep-blue); display:inline-flex; align-items:center; gap:6px; }
.issep-news-card .read-more:hover{ color:var(--issep-orange); gap:10px; }

/* ==========================================================================
   8. RACCOURCIS (SHORTCUTS)
   ========================================================================== */
.issep-shortcuts{
  background: var(--issep-navy);
  border-radius:26px;
  padding:56px 40px;
  position:relative;
  overflow:hidden;
}
.issep-shortcuts::before{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(circle at 15% 20%, rgba(242,112,29,.18), transparent 40%),
              radial-gradient(circle at 85% 80%, rgba(15,58,140,.4), transparent 45%);
}
.issep-shortcuts .issep-section-head h2,
.issep-shortcuts .issep-section-head p{ color:#fff; }
.issep-shortcuts .issep-section-head p{ color: rgba(255,255,255,.65); }
.issep-shortcut-grid{
  position:relative; z-index:1;
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:20px;
}
@media(max-width:991px){ .issep-shortcut-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .issep-shortcut-grid{ grid-template-columns:1fr; } }
.issep-shortcut-card{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:26px 20px;
  text-align:center;
  color:#fff;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.issep-shortcut-card .ico{
  width:56px;height:56px;border-radius:14px;
  background: linear-gradient(135deg, var(--issep-orange), var(--issep-orange-dark));
  display:flex;align-items:center;justify-content:center;
  font-size:22px;
}
.issep-shortcut-card h6{ color:#fff; margin:0; font-size:15px; }
.issep-shortcut-card:hover{ background: rgba(255,255,255,.13); transform:translateY(-6px); }
.issep-shortcut-card{ transition: all .3s ease; }

/* ==========================================================================
   9. EVENTS
   ========================================================================== */
.issep-event-card{
  display:flex;
  gap:22px;
  background:#fff;
  border:1px solid var(--issep-line);
  border-radius:18px;
  padding:18px;
  height:100%;
  transition:all .3s ease;
}
.issep-event-card:hover{ box-shadow:0 25px 50px rgba(7,28,63,.12); border-color:transparent; transform:translateY(-4px);}
.issep-event-card .thumb{ position:relative; width:120px; flex:none; border-radius:12px; overflow:hidden; }
.issep-event-card .thumb img{ width:100%; height:100%; object-fit:cover; }
.issep-event-card .date-badge{
  position:absolute; top:0; inset-inline-start:0;
  background:var(--issep-blue); color:#fff;
  padding:6px 8px; text-align:center; border-end-end-radius:12px;
  font-family:var(--issep-heading-font);
}
.issep-event-card .date-badge strong{ display:block; font-size:18px; line-height:1; }
.issep-event-card .date-badge span{ font-size:10px; text-transform:uppercase; }
.issep-event-card .content{ display:flex; flex-direction:column; justify-content:center; }
.issep-event-card .cat{ font-size:11.5px; font-weight:700; color:var(--issep-orange); text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px; }
.issep-event-card h6{ font-size:16.5px; margin-bottom:8px; line-height:1.4; }
.issep-event-card h6 a{ color:var(--issep-navy); }
.issep-event-card h6 a:hover{ color:var(--issep-blue); }
.issep-event-card .meta{ font-size:12.5px; color:var(--issep-gray); display:flex; gap:14px; flex-wrap:wrap; }
.issep-event-card .meta span{ display:inline-flex; align-items:center; gap:5px; }
.issep-event-card .meta i{ color:var(--issep-blue); }

/* ==========================================================================
   10. FORMATIONS
   ========================================================================== */
.issep-formation-tabs{
  display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:40px;
}
.issep-formation-tabs button{
  border:1px solid var(--issep-line);
  background:#fff;
  color:var(--issep-navy);
  font-family:var(--issep-heading-font);
  font-weight:600; font-size:14px;
  padding:11px 24px;
  border-radius:30px;
  transition:all .25s ease;
}
.issep-formation-tabs button.active,
.issep-formation-tabs button:hover{
  background:var(--issep-blue); border-color:var(--issep-blue); color:#fff;
}
.issep-formation-card{
  background:#fff;
  border:1px solid var(--issep-line);
  border-radius:18px;
  padding:32px 26px;
  height:100%;
  transition:all .3s ease;
}
.issep-formation-card:hover{ border-color:transparent; box-shadow:0 25px 55px rgba(7,28,63,.13); transform:translateY(-5px);}
.issep-formation-card .ico{
  width:58px;height:58px;border-radius:14px;
  background:var(--issep-blue-light); color:var(--issep-blue);
  display:flex;align-items:center;justify-content:center; font-size:24px; margin-bottom:22px;
}
.issep-formation-card:hover .ico{ background:var(--issep-orange); color:#fff; }
.issep-formation-card h5{ font-size:18.5px; margin-bottom:10px; }
.issep-formation-card p{ font-size:14px; color:var(--issep-gray); margin-bottom:18px; }
.issep-formation-card ul{ list-style:none; padding:0; margin:0 0 20px; }
.issep-formation-card ul li{ font-size:13.5px; color:var(--issep-ink); padding:5px 0; display:flex; align-items:center; gap:8px; }
.issep-formation-card ul li i{ color:var(--issep-orange); font-size:11px; }
.issep-formation-card .link{ font-size:13.5px; font-weight:700; color:var(--issep-blue); display:inline-flex; align-items:center; gap:6px; }
.issep-formation-card .link:hover{ color:var(--issep-orange); gap:10px; }
.issep-formation-pane{ display:none; }
.issep-formation-pane.active{ display:block; }

/* ==========================================================================
   11. STATISTIQUES
   ========================================================================== */
.issep-stats{
  background: linear-gradient(120deg, var(--issep-navy) 0%, var(--issep-blue) 100%);
  position:relative;
  overflow:hidden;
}
.issep-stats::before{
  content:"";
  position:absolute; inset:0;
  background: url("https://images.unsplash.com/photo-1517836357463-d25dfeac3438?auto=format&fit=crop&w=1600&q=60") center/cover;
  opacity:.12;
}
.issep-stats .row{ position:relative; z-index:1; }
.issep-stat-item{ text-align:center; color:#fff; padding: 10px; }
.issep-stat-item .ico{
  width:64px;height:64px;border-radius:50%;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  font-size:26px; color:var(--issep-orange);
  margin:0 auto 18px;
}
.issep-stat-item h3{ color:#fff; font-size:42px; margin-bottom:6px; }
.issep-stat-item h3 span{ color: var(--issep-orange); }
.issep-stat-item p{ color:rgba(255,255,255,.7); margin:0; font-size:14.5px; font-weight:600; }

/* ==========================================================================
   12. TÉMOIGNAGES
   ========================================================================== */
.issep-testi-card{
  background:#fff;
  border:1px solid var(--issep-line);
  border-radius:20px;
  padding:34px 30px;
  margin: 10px;
  height:calc(100% - 20px);
}
.issep-testi-card .quote-ico{ color:var(--issep-orange-light); font-size:36px; margin-bottom:10px; }
.issep-testi-card p{ color:var(--issep-ink); font-size:15.5px; line-height:1.8; margin-bottom:24px; }
.issep-testi-card .stars{ color:var(--issep-orange); font-size:13px; margin-bottom:14px; }
.issep-testi-card .person{ display:flex; align-items:center; gap:14px; }
.issep-testi-card .person img{ width:52px;height:52px;border-radius:50%; object-fit:cover; border:3px solid var(--issep-blue-light);}
.issep-testi-card .person h6{ margin:0; font-size:15px; }
.issep-testi-card .person span{ font-size:12.5px; color:var(--issep-gray); }
.issep-testi-wrap .owl-dots{ display:flex; justify-content:center; gap:8px; margin-top:16px; }
.issep-testi-wrap .owl-dot span{
  display:block; width:9px;height:9px;border-radius:50%;
  background: var(--issep-line);
}
.issep-testi-wrap .owl-dot.active span{ background: var(--issep-orange); width:26px; border-radius:6px; }

/* ==========================================================================
   13. GALERIE
   ========================================================================== */
.issep-gallery-filters{ display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:36px; }
.issep-gallery-filters button{
  border:1px solid var(--issep-line); background:#fff; color:var(--issep-navy);
  font-family:var(--issep-heading-font); font-weight:600; font-size:13.5px;
  padding:9px 20px; border-radius:30px; transition:all .25s ease;
}
.issep-gallery-filters button.active, .issep-gallery-filters button:hover{
  background:var(--issep-orange); border-color:var(--issep-orange); color:#fff;
}
.issep-gallery-item{
  position:relative; border-radius:16px; overflow:hidden; height:230px; margin-bottom:24px;
}
.issep-gallery-item img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.issep-gallery-item:hover img{ transform:scale(1.1); }
.issep-gallery-item .overlay{
  position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(7,20,50,.88) 0%, rgba(7,20,50,0) 60%);
  display:flex; align-items:flex-end; padding:16px;
  opacity:0; transition:opacity .3s ease;
}
.issep-gallery-item:hover .overlay{ opacity:1; }
.issep-gallery-item .overlay span{ color:#fff; font-size:13px; font-weight:600; display:flex; align-items:center; gap:8px; }
.issep-gallery-item .overlay i{ color:var(--issep-orange); }
.issep-gallery-item.hide{ display:none; }

/* ==========================================================================
   14. PARTENAIRES
   ========================================================================== */
.issep-partner-badge{
  display:flex; align-items:center; gap:14px;
  background:#fff; border:1px solid var(--issep-line); border-radius:14px;
  padding:20px; height:100%;
  transition:all .3s ease;
}
.issep-partner-badge:hover{ border-color: var(--issep-blue); box-shadow:0 15px 35px rgba(7,28,63,.1); transform:translateY(-4px); }
.issep-partner-badge .ico{
  width:48px;height:48px;border-radius:12px; flex:none;
  background:var(--issep-blue-light); color:var(--issep-blue);
  display:flex;align-items:center;justify-content:center; font-size:20px;
}
.issep-partner-badge h6{ margin:0 0 2px; font-size:14px; line-height:1.35; }
.issep-partner-badge span{ font-size:11.5px; color:var(--issep-gray); }

/* ==========================================================================
   15. NEWSLETTER
   ========================================================================== */
.issep-newsletter{
  background: linear-gradient(115deg, var(--issep-blue) 0%, #17296b 55%, var(--issep-navy) 100%);
  border-radius: 26px;
  padding: 56px;
  position:relative;
  overflow:hidden;
}
.issep-newsletter::before{
  content:"\f1e0"; font-family:"Font Awesome 6 Free"; font-weight:900;
  position:absolute; font-size:280px; color:rgba(255,255,255,.04);
  top:-60px; inset-inline-end:-40px; transform:rotate(15deg);
}
.issep-newsletter h2{ color:#fff; font-size:30px; margin-bottom:10px; }
.issep-newsletter p{ color:rgba(255,255,255,.72); margin-bottom:0; }
.issep-newsletter-form{ position:relative; z-index:1; }
.issep-newsletter-form .input-group{
  background:#fff; border-radius:12px; padding:6px; box-shadow:0 20px 45px rgba(0,0,0,.2);
}
.issep-newsletter-form input{
  border:0; padding:12px 16px; border-radius:10px; flex:1; min-width:0;
}
.issep-newsletter-form input:focus{ outline:none; box-shadow:none; }
.issep-newsletter-form button{ border-radius:10px; white-space:nowrap; }
.issep-newsletter-note{ color:rgba(255,255,255,.55); font-size:12.5px; margin-top:12px; }
.issep-newsletter-success{ display:none; color:#c8f7d0; font-size:13.5px; margin-top:12px; align-items:center; gap:8px;}
.issep-newsletter-success.show{ display:flex; }

/* ==========================================================================
   16. FOOTER
   ========================================================================== */
footer.issep-footer{
  background: var(--issep-navy);
  color: rgba(255,255,255,.65);
  padding-top: 90px;
}
.issep-footer .footer-logo img{ height:64px; margin-bottom:20px; }
.issep-footer p{ color: rgba(255,255,255,.55); font-size:14px; line-height:1.85; }
.issep-footer h6{ color:#fff; font-family:var(--issep-heading-font); font-size:16px; margin-bottom:24px; position:relative; padding-bottom:12px; }
.issep-footer h6::after{ content:""; position:absolute; bottom:0; inset-inline-start:0; width:36px; height:3px; background:var(--issep-orange); border-radius:3px;}
.issep-footer ul{ list-style:none; padding:0; margin:0; }
.issep-footer ul li{ margin-bottom:12px; }
.issep-footer ul li a{ color:rgba(255,255,255,.6); font-size:14px; display:inline-flex; align-items:center; gap:8px; }
.issep-footer ul li a:hover{ color:var(--issep-orange); padding-inline-start:4px; }
.issep-footer ul li a i{ font-size:10px; color:var(--issep-orange); }
.issep-footer .contact-item{ display:flex; gap:14px; margin-bottom:18px; }
.issep-footer .contact-item i{ color:var(--issep-orange); font-size:16px; margin-top:3px; }
.issep-footer .contact-item span{ font-size:14px; color:rgba(255,255,255,.65); }
.issep-footer .social a{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.08); color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  margin-inline-end:8px; font-size:14px;
}
.issep-footer .social a:hover{ background:var(--issep-orange); }
.issep-footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:60px; padding:22px 0;
  font-size:13.5px; color:rgba(255,255,255,.5);
}
.issep-footer-bottom a{ color:rgba(255,255,255,.7); }
.issep-footer-bottom a:hover{ color:var(--issep-orange); }

/* Back to top ------------------------------------------------------------ */
.issep-totop{
  position:fixed; bottom:26px; inset-inline-end:26px; z-index:999;
  width:48px;height:48px;border-radius:50%;
  background:var(--issep-orange); color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 30px rgba(242,112,29,.4);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:all .3s ease;
}
.issep-totop.show{ opacity:1; visibility:visible; transform:translateY(0); }
.issep-totop:hover{ background:var(--issep-blue); color:#fff; }

.issep-version-switch{
  position:fixed; bottom:26px; inset-inline-start:26px; z-index:999;
  background:#fff; color:var(--issep-blue); border:1px solid var(--issep-line);
  padding:12px 20px; border-radius:30px; font-weight:700; font-size:13.5px;
  display:flex; align-items:center; gap:8px; box-shadow:0 10px 30px rgba(7,28,63,.15);
  font-family: var(--issep-heading-font);
}
.issep-version-switch:hover{ background:var(--issep-blue); color:#fff; }
@media(max-width:575px){ .issep-version-switch span{ display:none; } }

/* ==========================================================================
   17. RESPONSIVE
   ========================================================================== */
@media(max-width:1199px){
  .issep-hero h1{ font-size:44px; }
}
@media(max-width:991px){
  .issep-section-head h2{ font-size:30px; }
  .issep-about-badge{ position:static; margin-top:-40px; margin-inline-start:20px; }
  .issep-about-year{ top:16px; inset-inline-end:16px; }
  .issep-newsletter{ padding:36px 24px; text-align:center; }
  .issep-event-card{ flex-direction:column; }
  .issep-event-card .thumb{ width:100%; height:170px; }
}
@media(max-width:575px){
  .issep-hero h1{ font-size:28px; }
  .issep-hero-cta{ flex-direction:column; }
  .issep-hero-cta .btn-issep-primary, .issep-hero-cta .btn-issep-outline{ width:100%; justify-content:center; }
  .issep-shortcuts{ padding:36px 20px; }
}

/* ==========================================================================
   18. RTL — activé quand <html dir="rtl">
   ========================================================================== */
html[dir="rtl"]{
  text-align: right;
}
html[dir="rtl"] .issep-topbar,
html[dir="rtl"] .header-btn,
html[dir="rtl"] .main-nav{
  direction: rtl;
}
html[dir="rtl"] .navbar-header{ flex-direction: row-reverse; }
html[dir="rtl"] .header-nav{ flex-direction: row-reverse; }
html[dir="rtl"] .header-btn{ flex-direction: row-reverse; }
html[dir="rtl"] .issep-hero-cta,
html[dir="rtl"] .issep-topbar .d-flex,
html[dir="rtl"] .issep-newsletter-form .input-group{
  flex-direction: row-reverse;
}
html[dir="rtl"] .issep-event-card{ flex-direction: row-reverse; }
html[dir="rtl"] .issep-testi-card .person,
html[dir="rtl"] .issep-partner-badge,
html[dir="rtl"] .issep-about-list li,
html[dir="rtl"] .issep-footer .contact-item{
  flex-direction: row-reverse;
  text-align: right;
}
html[dir="rtl"] .issep-mega-col ul li a:hover{ padding-inline-start:10px; padding-inline-end:14px; }
html[dir="rtl"] .issep-news-card .read-more:hover,
html[dir="rtl"] .issep-formation-card .link:hover{ gap:10px; }
html[dir="rtl"] .issep-about-badge{ inset-inline-start:auto; inset-inline-end:-30px; }
html[dir="rtl"] .issep-video-caption,
html[dir="rtl"] .issep-about-year{ direction:rtl; }
html[dir="rtl"] .issep-hero-stats .item{ border-inline-end:1px solid var(--issep-line); }
html[dir="rtl"] .dropdown-menu{ text-align:right; }
html[dir="rtl"] .fa-arrow-right,
html[dir="rtl"] .fa-chevron-right,
html[dir="rtl"] .fa-arrow-right-long{ transform: scaleX(-1); }

/* ==========================================================================
   19. MEGA MENU — pleine largeur (.megamenu)
   ========================================================================== */
@media(min-width:992px){
  header .main-menu-wrapper .main-nav > li.megamenu > ul.mega-submenu{
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    min-width: 0 !important;
    margin-top: 0 !important;
    transform: translateX(-50%) !important;
  }
}
header .main-menu-wrapper .main-nav > li.megamenu > ul.mega-submenu ul li a{
  padding: 10px 12px !important;
}
header .main-menu-wrapper .main-nav > li.megamenu > ul.mega-submenu ul li a::before{
  content: none !important;
}
header .main-menu-wrapper .main-nav > li.megamenu > ul.mega-submenu ul li{
  margin-bottom: 2px !important;
}
@media(min-width:992px){
  .navbar-logo{ display:flex; align-items:center; }
}
@media(max-width:991.98px){
  /* le template masque tout <ul> et <h6> imbriqués dans .megamenu-wrapper :
     on réaffiche le contenu du mega menu (ce ne sont pas des sous-menus de démo) */
  header .main-menu-wrapper .main-nav .issep-mega-col ul,
  .megamenu-wrapper h6{
    display:block !important;
  }
  .issep-mega-full{ box-shadow:none; border-top:0; }
  .issep-mega{ padding: 8px 0; }
  .issep-mega-col{ padding: 12px 4px; }
  .issep-mega-col + .issep-mega-col{ border-inline-start:0; border-top:1px solid var(--issep-line); }
  .issep-mega-col-dept{ padding: 12px 4px; }
  .issep-mega-panel{ margin: 12px 4px; }
  .issep-mega-col ul li a,
  .issep-mega-col-dept span,
  .issep-mega-col-dept h6{
    white-space: normal !important;
    overflow-wrap: break-word;
  }
}
