/* =========================================================
   Feuille de style - École Excellence
   (Complète Bootstrap, ne le remplace pas)
   ========================================================= */

/* ----- Variables de couleurs de l'école ----- */
:root {
    --bleu:        #14365c;  /* bleu profond  */
    --bleu-clair:  #1d5b9e;  /* bleu vif      */
    --or:          #f5a623;  /* doré / accent */
    --gris-clair:  #f5f7fa;  /* fond clair    */
}

/* ----- Base ----- */
body {
    padding-top: 64px; /* doit correspondre exactement à la hauteur de la navbar */
    font-family: "Segoe UI", Arial, sans-serif;
    color: #333;
}

h1, h2, h3, h4, h5 {
    font-weight: 700;
}

/* ----- Classes utilitaires personnalisées ----- */
.text-or       { color: var(--or) !important; }
.text-bleu     { color: var(--bleu) !important; }
.bg-bleu       { background-color: var(--bleu) !important; }
.bg-gris-clair { background-color: var(--gris-clair) !important; }

/* Bouton doré personnalisé */
.btn-or {
    background-color: var(--or);
    border-color: var(--or);
    color: #fff;
    font-weight: 600;
}
.btn-or:hover {
    background-color: #db9015;
    border-color: #db9015;
    color: #fff;
}

/* ----- Barre de navigation ----- */
.navbar {
    min-height: 64px; /* hauteur fixe = même valeur que le padding-top du body */
    transition: background-color 0.3s ease;
}
.navbar-brand {
    font-size: 1.5rem;
}
.navbar-nav .nav-link {
    font-weight: 500;
    position: relative;
}
/* petit trait doré sous le lien au survol */
.navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    left: 0.8rem;
    right: 0.8rem;
    bottom: 0.2rem;
    height: 2px;
    background: var(--or);
    transform: scaleX(0);
    transition: transform 0.25s ease;
}
.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
    transform: scaleX(1);
}

/* ----- Section d'accueil (Hero) ----- */
.hero {
    min-height: 88vh;
    background: linear-gradient(rgba(20, 54, 92, 0.82), rgba(20, 54, 92, 0.82)),
                url("https://images.unsplash.com/photo-1503676260728-1c00da094a0b?auto=format&fit=crop&w=1600&q=80")
                center/cover no-repeat;
}

/* ----- En-tête des pages internes ----- */
.page-header {
    min-height: 42vh;
    background: linear-gradient(rgba(20, 54, 92, 0.78), rgba(29, 91, 158, 0.78)),
                url("https://images.unsplash.com/photo-1523050854058-8df90110c9f1?auto=format&fit=crop&w=1600&q=80")
                center/cover no-repeat;
}

/* ----- Titres de section ----- */
.section-title {
    position: relative;
    display: inline-block;
    padding-bottom: 0.75rem;
    margin-bottom: 2.5rem;
}
.section-title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 70px;
    height: 4px;
    border-radius: 2px;
    background: var(--or);
}

/* ----- Cartes ----- */
.card {
    border: none;
    border-radius: 14px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.card:hover {
    transform: translateY(-8px);
    box-shadow: 0 1rem 2rem rgba(20, 54, 92, 0.18) !important;
}

/* Cartes des niveaux scolaires (haut coloré) */
.niveau-card .niveau-icon {
    width: 80px;
    height: 80px;
    line-height: 80px;
    border-radius: 50%;
    font-size: 2rem;
    color: #fff;
    margin: -55px auto 1rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* Pastilles d'icônes (atouts) */
.feature-icon {
    width: 70px;
    height: 70px;
    line-height: 70px;
    border-radius: 50%;
    font-size: 1.7rem;
    background: rgba(245, 166, 35, 0.15);
    color: var(--or);
}

/* ----- Bloc statistiques ----- */
.stats {
    background: linear-gradient(rgba(20, 54, 92, 0.92), rgba(20, 54, 92, 0.92)),
                url("https://images.unsplash.com/photo-1427504494785-3a9ca7044f45?auto=format&fit=crop&w=1600&q=80")
                center/cover no-repeat;
}

/* ----- Témoignages ----- */
.testimonial {
    border-radius: 14px;
}
.testimonial img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 50%;
}

/* ----- Appel à l'action ----- */
.cta {
    background: linear-gradient(120deg, var(--bleu), var(--bleu-clair));
}

/* ----- Membres de l'équipe ----- */
.team-card img {
    height: 260px;
    object-fit: cover;
}

/* ----- Liens du footer ----- */
.footer-link {
    color: #aebfce;
    text-decoration: none;
    transition: color 0.2s ease, padding-left 0.2s ease;
}
.footer-link:hover {
    color: var(--or);
    padding-left: 5px;
}
