/* --- Charte Graphique extraite du Logo --- */
:root {
    --primary-gold: #F5C600; /* Le jaune doré du logo */
    --dark-charcoal: #2C2C2C; /* Le noir/gris très foncé pour les textes */
    --light-bg: #FFFFFF; 
    --secondary-bg: #F9FAFB; /* Gris très clair pour casser la monotonie */
    --text-muted: #6B7280;
    --font-family-main: 'Inter', sans-serif;
}

body {
    font-family: var(--font-family-main);
    color: var(--dark-charcoal);
    background-color: var(--light-bg);
    line-height: 1.6;
}

h1, h2, h3, h4 {
    font-weight: 800;
    color: var(--dark-charcoal);
}

/* --- Éléments de Style Modernes --- */
.gold-divider {
    width: 80px;
    height: 4px;
    background-color: var(--primary-gold);
    margin: 20px 0;
    border-radius: 2px;
}

.section-title {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
}

.section-subtitle {
    color: var(--text-muted);
    font-weight: 400;
    margin-bottom: 3rem;
}

/* --- Navigation --- */
.navbar {
    background-color: #ffffff;
    border-bottom: 1px solid #f3f4f6;
}
.navbar-brand img {
    max-height: 55px;
}
.nav-link {
    color: var(--dark-charcoal);
    font-weight: 600;
    transition: color 0.2s ease;
}
.nav-link:hover, .nav-link.active {
    color: var(--primary-gold) !important;
}

/* --- Hero Section --- */
#about-hero {
    background-color: var(--dark-charcoal);
    color: #ffffff;
    padding: 120px 0;
}
#about-hero h1 { color: #ffffff; }

/* --- Cartes de Vision Modernes --- */
.vision-card {
    background: #ffffff;
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
    height: 100%;
    border: 1px solid #f3f4f6;
}
.vision-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(245, 198, 0, 0.1);
}
.vision-icon {
    font-size: 3rem;
    color: var(--primary-gold);
    margin-bottom: 20px;
}

/* --- Section Équipe --- */
#notre-equipe {
    background-color: var(--secondary-bg);
}
.team-member-img {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    border: 5px solid #ffffff;
    box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}

/* --- Footer --- */
footer {
    background-color: var(--dark-charcoal);
    color: #ffffff;
    padding: 60px 0;
}
/* --- Styles additionnels pour le formulaire --- */
.form-control:focus, .form-select:focus {
    background-color: #ffffff !important;
    border: 1px solid var(--primary-gold) !important;
    box-shadow: 0 0 0 0.25rem rgba(245, 198, 0, 0.15) !important;
    color: var(--dark-charcoal);
}

.rounded-4 {
    border-radius: 20px !important;
}

.bg-light {
    background-color: #f8f9fa !important;
}

.btn-warning:hover {
    background-color: #dcb200 !important;
    transform: translateY(-2px);
    transition: all 0.2s ease;
}
/* --- Navigation Onglets Pills --- */
#predicationTabs .nav-link {
    background-color: #f8f9fa;
    color: #2C2C2C;
    border: 1px solid #e9ecef;
    transition: all 0.3s ease;
}
#predicationTabs .nav-link.active {
    background-color: var(--primary-gold) !important;
    color: #ffffff !important;
    border-color: var(--primary-gold);
}

/* --- Effets Hover Vidéos --- */
.video-card-interactive {
    transition: all 0.3s ease;
}
.video-card-interactive:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.08) !important;
}
.img-hover-container .play-btn-overlay i {
    opacity: 0.85;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.video-card-interactive:hover .play-btn-overlay i {
    transform: scale(1.15);
    opacity: 1;
    color: var(--primary-gold) !important;
}

/* --- Barre de défilement des commentaires --- */
.max-height-comments {
    max-height: 250px;
}
/* --- Optimisations spécifiques pour Écrans Mobiles --- */
@media (max-width: 768px) {
    /* Évite les paddings trop grands sur smartphone */
    .p-md-5, .p-4 {
        padding: 20px 15px !important;
    }
    
    /* Titre des rubriques adapté */
    .display-4 {
        font-size: 2.2rem !important;
        font-weight: 700;
    }
    
    .section-title {
        font-size: 1.8rem !important;
    }

    /* Modales/Popups Plein écran sur mobile pour une lecture confortable */
    .modal-dialog {
        margin: 10px !important;
    }
    
    #textModalBody {
        font-size: 1.05rem !important; /* Taille de lecture optimale sur smartphone */
        line-height: 1.6;
    }
    
    /* Boutons réseaux sociaux sur toute la largeur */
    .modal-body .d-flex.gap-2 {
        flex-direction: column;
    }
    .modal-body .d-flex.gap-2 a {
        width: 100%;
        text-align: center;
        padding: 10px;
    }
}
/* --- Limiter le titre à deux lignes maximum --- */
.text-line-clamp {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* --- Effets sur les cartes vidéos de l'accueil --- */
.index-video-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.index-video-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08) !important;
}
.index-video-card:hover .style-img-container img {
    transform: scale(1.05);
} 
.index-video-card:hover .transition-icon {
    color: var(--primary-gold) !important;
    transform: scale(1.15);
}
.transition-icon {
    transition: transform 0.3s ease, color 0.3s ease;
}

/* --- Gestion du responsive pour le Carousel --- */
@media (max-width: 576px) {
    #homeCarousel .carousel-item {
        height: 60vh !important;
    }
    #homeCarousel h1 {
        font-size: 1.8rem !important;
    }
    #homeCarousel h2 {
        font-size: 1.6rem !important;
    }
}