/* ==================== HERO ==================== */
.hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(rgba(47, 67, 148, 0.96), rgba(75, 100, 201, 0.96)),
    #172052;
}
/*
.hero::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    radial-gradient(circle at 25px 25px, rgba(212,175,55,0.10) 2px, transparent 2px),
    radial-gradient(circle at 75px 75px, rgba(212,175,55,0.08) 2px, transparent 2px);

  background-size: 100px 100px;

  opacity: 1;
  pointer-events: none;
}
*/
/*.hero::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(30deg, rgba(212,175,55,0.06) 12%, transparent 12.5%, transparent 87%, rgba(212,175,55,0.06) 87.5%, rgba(212,175,55,0.06)),
    linear-gradient(150deg, rgba(212,175,55,0.06) 12%, transparent 12.5%, transparent 87%, rgba(212,175,55,0.06) 87.5%, rgba(212,175,55,0.06)),
    linear-gradient(90deg, rgba(212,175,55,0.04) 2%, transparent 2.5%, transparent 97%, rgba(212,175,55,0.04) 97.5%, rgba(212,175,55,0.04));

  background-size: 80px 140px;

  opacity: 0.6;
  pointer-events: none;
}*/

.hero-center {
  position: relative;
  min-height: 520px;
  padding: 50px 20px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;

  /* Fond de base */
  background: #0f1e40;
 /* background-image:
    url("../img/islamic-pattern.svg"),          
    linear-gradient(rgba(9,17,36,0.55) 0%, transparent 30%, transparent 70%, rgba(9,17,36,0.55) 100%);*/
  background-size: 124px 124px, cover;
  background-repeat: repeat, no-repeat;
}

/* Vignette radiale pour faire ressortir le contenu au centre */
.hero-center::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient( ellipse 60% 70% at 50% 50%, transparent 20%, rgba(9, 17, 36, 0.68) 100% );
  pointer-events: none;
}

/* Reflet doré qui traverse */
.hero-center::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient( 105deg, transparent 40%, rgba(212, 175, 100, 0.04) 50%, transparent 60% );
  animation: hero-shimmer 7s ease-in-out infinite;
  pointer-events: none;
}

@keyframes hero-shimmer {
  0%   { transform: translateX(-60%); }
  100% { transform: translateX(160%); }
}

  .hero-logo {
    width: 180px;
    max-width: 80vw;
    margin-bottom: 24px;
  }


/*
.hero-center {
  min-height: 520px;
  padding: 110px 20px 40px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  text-align: center;
  background: var(--navy-mid);

  background-image:
    linear-gradient(rgba(19,32,64,0.88), rgba(19,32,64,0.88)),
    url("../img/pattern.png");

  background-size: cover;
  background-position: center;
}
*/
/*
.hero-logo {
  width: 170px;
  margin-bottom: 22px;

  filter:
    drop-shadow(0 0 18px rgba(255,255,255,0.08))
    brightness(1.08);
}
*/


  .hero-center h1 {
    color: white;
    font-size: 2rem;
    line-height: 1.8;
  }

  
/* ==================== END HERO ==================== */
 .features-section {
  padding: 60px 20px;
  background: #f7f3ea;
}

.features-grid {
  max-width: 1050px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.feature-card {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  padding: 32px 24px;
  border-radius: 22px;
  text-align: center;
  box-shadow: 0 12px 35px rgba(20, 28, 70, 0.10);
  border: 1px solid rgba(218, 177, 74, 0.25);
}

.feature-card::before {
  content: "۞";
  position: absolute;
  top: -22px;
  left: 18px;
  font-size: 70px;
  color: rgba(218, 177, 74, 0.12);
}

.feature-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, #d8ad3f, #f4d77a);
  color: #172052;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
}

.feature-card h3 {
  color: #172052;
  font-size: 1.35rem;
  margin-bottom: 12px;
}

.feature-card p {
  color: #555;
  font-size: 1rem;
  line-height: 1.9;
}

.feature-card-last {
  grid-column: 1 / 3;
  max-width: 500px;
  margin: 0 auto;
}

.feature-link {
  color: inherit;
  text-decoration: none;
}

.feature-link:hover {
  color: var(--gold-light);
}

.feature-main-link {
  text-decoration: none;
  color: inherit;
}

.feature-main-link:hover h3 {
  color: var(--gold-light);
}

.feature-main-link:hover .feature-icon {
  background: var(--gold-light);
}

.feature-main-link:hover .feature-icon i {
  color: white;
}

.feature-card:hover h3 {
  color: var(--gold-light);
}

.feature-card:hover .feature-icon {
  background: var(--gold-light);
}

.feature-card:hover .feature-icon i {
  color: white;
}

.feature-card h3,
.feature-icon,
.feature-icon i {
  transition: 0.3s ease;
}

.feature-card-link,
.feature-card-link:hover,
.feature-card-link:focus,
.feature-card-link:visited {
  text-decoration: none;
  color: inherit;
}

/* ==================== MEDIA ==================== */
  @media (max-width: 1024px) {

  }

  @media (max-width: 768px) {
    /*
    .hero-logo {
      width: 130px;
    }
    */

    .hero-center h1 {
      font-size: 24px;
    }
      .features-grid {
    grid-template-columns: 1fr;
  }

  .feature-card-last {
    grid-column: auto;
    max-width: none;
  }
  }

.academy-intro {
  background: #f7f3ea;
  padding: 20px 20px 45px;
  margin-top: -55px;
  position: relative;
  z-index: 5;
}

.academy-intro-card {
  max-width: 980px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;

  background: #ffffff;
  border-radius: 28px;
  padding: 42px 55px;

  text-align: center;
  /*box-shadow: 0 0px 50px rgba(1, 29, 9, 0.13);*/
	box-shadow: 0 15px 40px rgba(6, 10, 44, 0.12);
  border: 2px solid rgba(6, 10, 44, 0.28);
}

.academy-intro-card::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 22px;
  pointer-events: none;
}

.intro-ornament {
  width: 78px;
  height: 78px;

  margin: 0 auto 22px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
/*
  background: linear-gradient(
    135deg,
    #d8ad3f,
    #f4d77a
  );
*/
  box-shadow:
    0 8px 18px rgba(212,175,55,0.25);
}

.intro-ornament img {
  width: 100px;
  height: 100px;

  object-fit: contain;
}

.academy-intro h2 {
  color: #10214f;
  font-size: 2rem;
  font-weight: 800;
  margin-bottom: 22px;
}

.academy-intro p {
  color: #374151;
  font-size: 1.08rem;
  line-height: 2.1;
  margin-bottom: 14px;
}
/*
.academy-intro-card::after {
  content: "۞";
  position: absolute;
  left: -35px;
  bottom: -55px;

  font-size: 180px;
  color: rgba(212, 175, 55, 0.08);
  transform: rotate(-18deg);
}
*/
/* Mobile */
@media (max-width: 768px) {
  .academy-intro {
    margin-top: -35px;
    padding: 20px 16px 35px;
  }

  .academy-intro-card {
    padding: 34px 24px;
    border-radius: 22px;
  }

  .academy-intro h2 {
    font-size: 1.55rem;
  }

  .academy-intro p {
    font-size: 1rem;
    line-height: 2;
  }
}

.intro-corner-pattern {
  position: absolute;
  left: -35px;
  bottom: -35px;
  width: 180px;
  opacity: 0.4;
  transform: rotate(-18deg);
  pointer-events: none;
  user-select: none;
}