/*
=========================================================
CMS AKONO
STYLE PRINCIPAL V5 PREMIUM
---------------------------------------------------------
Site officiel du Jubilé du Centenaire
Paroisse Notre-Dame des Sept Douleurs d'Akono

Développé par :

ESSOMBA Pancrace Cédric
Pancrace Consulting Group
=========================================================
*/


/*=========================================================
IMPORT GOOGLE FONT
=========================================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');


/*=========================================================
VARIABLES
=========================================================*/

:root {

    --bleu: #0F4C81;

    --bleu-fonce: #082B47;

    --bleu-clair: #2F7DC4;

    --or: #D4AF37;

    --or-clair: #F4D97A;

    --vert: #2E7D32;

    --vert-fonce: #1F5B24;

    --blanc: #FFFFFF;

    --gris: #666666;

    --gris-clair: #F5F7FA;

    --gris-border: #E5E7EB;

    --texte: #222222;

    --ombre-sm: 0 5px 12px rgba(0, 0, 0, .08);

    --ombre: 0 15px 40px rgba(0, 0, 0, .10);

    --ombre-lg: 0 25px 60px rgba(0, 0, 0, .18);

    --radius: 22px;

    --transition: .35s ease;

}


/*=========================================================
RESET
=========================================================*/

* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}

html {

    scroll-behavior: smooth;

}

body {

    font-family: 'Poppins', sans-serif;

    background: var(--gris-clair);

    color: var(--texte);

    line-height: 1.8;

    overflow-x: hidden;

}


/*=========================================================
SCROLLBAR
=========================================================*/

::-webkit-scrollbar {

    width: 10px;

}

::-webkit-scrollbar-track {

    background: #EFEFEF;

}

::-webkit-scrollbar-thumb {

    background: linear-gradient(var(--bleu),
            var(--or));

    border-radius: 20px;

}


/*=========================================================
TYPOGRAPHIE
=========================================================*/

h1 {

    font-size: 64px;

    font-weight: 800;

    line-height: 1.15;

}

h2 {

    font-size: 42px;

    font-weight: 700;

    color: var(--bleu);

}

h3 {

    font-size: 28px;

    font-weight: 700;

}

h4 {

    font-size: 22px;

    font-weight: 600;

}

p {

    font-size: 17px;

    color: #555;

}


/*=========================================================
LIENS
=========================================================*/

a {

    text-decoration: none;

    color: inherit;

    transition: var(--transition);

}

a:hover {

    text-decoration: none;

}


/*=========================================================
IMAGES
=========================================================*/

img {

    display: block;

    max-width: 100%;

}


/*=========================================================
CONTAINER
=========================================================*/

.container {

    width: min(1400px, 92%);

    margin: auto;

}


/*=========================================================
SECTIONS
=========================================================*/

section {

    padding: 100px 0;

}


/*=========================================================
TITRES DES SECTIONS
=========================================================*/

.section-title {

    text-align: center;

    margin-bottom: 70px;

}

.section-badge {

    display: inline-block;

    padding: 10px 24px;

    background: rgba(15, 76, 129, .08);

    color: var(--bleu);

    border-radius: 50px;

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    margin-bottom: 20px;

}

.section-title h2 {

    margin-bottom: 18px;

}

.section-title p {

    max-width: 800px;

    margin: auto;

    font-size: 18px;

}

.section-title h2::after {

    content: "";

    display: block;

    width: 90px;

    height: 5px;

    margin: 18px auto 0;

    border-radius: 50px;

    background: linear-gradient(90deg,
            var(--bleu),
            var(--or));

}


/*=========================================================
BOUTONS PREMIUM
=========================================================*/

.btn {

    display: inline-flex;

    justify-content: center;

    align-items: center;

    gap: 10px;

    padding: 16px 36px;

    background: var(--bleu);

    color: #FFF;

    border: none;

    border-radius: 50px;

    font-size: 16px;

    font-weight: 600;

    cursor: pointer;

    transition: var(--transition);

}

.btn:hover {

    background: var(--bleu-fonce);

    transform: translateY(-4px);

}

.btn-vert {

    background: var(--vert);

    color: #FFF;

}

.btn-vert:hover {

    background: var(--vert-fonce);

}

.btn-or {

    background: var(--or);

    color: var(--bleu);

}

.btn-or:hover {

    background: #E8C75E;

}


/*=========================================================
CARTES PREMIUM
=========================================================*/

.card {

    background: #FFF;

    border-radius: var(--radius);

    box-shadow: var(--ombre);

    transition: var(--transition);

}

.card:hover {

    transform: translateY(-10px);

    box-shadow: var(--ombre-lg);

}


/*=========================================================
UTILITAIRES
=========================================================*/

.text-center {

    text-align: center;

}

.mt-1 {

    margin-top: 10px;

}

.mt-2 {

    margin-top: 20px;

}

.mt-3 {

    margin-top: 30px;

}

.mt-4 {

    margin-top: 40px;

}

.mb-1 {

    margin-bottom: 10px;

}

.mb-2 {

    margin-bottom: 20px;

}

.mb-3 {

    margin-bottom: 30px;

}

.mb-4 {

    margin-bottom: 40px;

}


/*=========================================================
ANIMATION
=========================================================*/

.fade-up {

    animation: fadeUp .9s ease;

}

@keyframes fadeUp {

    from {

        opacity: 0;

        transform: translateY(50px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}


/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:1200px) {

    h1 {

        font-size: 54px;

    }

}

@media(max-width:992px) {

    section {

        padding: 80px 0;

    }

    h1 {

        font-size: 46px;

    }

    h2 {

        font-size: 36px;

    }

}

@media(max-width:768px) {

    h1 {

        font-size: 36px;

    }

    h2 {

        font-size: 30px;

    }

    p {

        font-size: 16px;

    }

}

@media(max-width:576px) {

    section {

        padding: 70px 0;

    }

}
/*=========================================================
NAVBAR PREMIUM
=========================================================*/

.navbar {

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    z-index: 9999;

    background: rgba(15, 76, 129, .96);

    backdrop-filter: blur(15px);

    box-shadow: 0 10px 30px rgba(0, 0, 0, .12);

    transition: all .35s ease;

}

.navbar.scrolled {

    background: #0F4C81;

    box-shadow: 0 15px 40px rgba(0, 0, 0, .18);

}


/*=========================================================
NAV CONTAINER
=========================================================*/

.nav-container {

    width: min(1450px, 96%);

    margin: auto;

    display: flex;

    justify-content: space-between;

    align-items: center;

    height: 75px;

}


/*=========================================================
LOGO
=========================================================*/

.nav-logo {

    display: flex;

    align-items: center;

    gap: 15px;

}

.nav-logo img {

    width: 50px;

    height: 50px;

    object-fit: contain;

}

.nav-logo-text {

    display: flex;

    flex-direction: column;

}

.nav-logo-text h2 {

    margin: 0;

    font-size: 22px;

    color: #FFF;

    line-height: 1.1;

}

.nav-logo-text small {

    font-size: 12px;

    color: var(--or);

}


/*=========================================================
MENU
=========================================================*/

.nav-menu {

    display: flex;

    align-items: center;

    gap: 6px;

    list-style: none;

}

.nav-menu li {

    list-style: none;

}

.nav-menu a {

    padding: 10px 16px;

    border-radius: 10px;

    font-size: 15px;

    font-weight: 600;

}

.nav-menu a:hover {

    background: rgba(255, 255, 255, .12);

    color: #FFF;

}
.nav-menu.active{
    display:flex;
}

.nav-menu a.active {

    background: var(--or);

    color: var(--bleu);

    font-weight: 700;

}


/*=========================================================
BOUTONS
=========================================================*/

.nav-actions {

    display: flex;

    align-items: center;

    gap: 15px;

}

.btn-participer {

    padding: 10px 18px;

    border-radius: 30px;

    font-size: 15px;

}

.btn-participer:hover {

    background: var(--vert-fonce);

    transform: translateY(-3px);

}

.btn-admin {

    padding: 10px 18px;

    border-radius: 30px;

    font-size: 15px;

}

.btn-admin:hover {

    background: var(--or-clair);

    transform: translateY(-3px);

}


/*=========================================================
MENU MOBILE
=========================================================*/

.menu-toggle {

    display: none;

    justify-content: center;

    align-items: center;

    width: 52px;

    height: 52px;

    border: none;

    border-radius: 14px;

    background: var(--or);

    color: var(--bleu);

    font-size: 22px;

    cursor: pointer;

}


/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:1200px) {

    .nav-menu {

        gap: 2px;

    }

    .nav-menu a {

        padding: 10px 12px;

        font-size: 14px;

    }

}

@media(max-width:992px) {

    .menu-toggle {

        display: flex;

    }

    .nav-actions {

        display: none;

    }

    .nav-menu {

        position: fixed;

        top: 90px;

        left: -100%;

        width: 320px;

        height: calc(100vh - 90px);

        background: var(--bleu);

        flex-direction: column;

        align-items: flex-start;

        padding: 30px;

        gap: 10px;

        transition: left .35s ease;

        overflow-y: auto;

    }

    .nav-menu.active {

        left: 0;

    }

    .nav-menu li {

        width: 100%;

    }

    .nav-menu a {

        width: 100%;

        justify-content: flex-start;

    }

}

@media(max-width:768px) {

    .nav-container {

        min-height: 80px;

    }

    .nav-logo img {

        width: 50px;

        height: 50px;

    }

    .nav-logo-text h2 {

        font-size: 18px;

    }

    .nav-logo-text small {

        font-size: 11px;

    }

}
/*=========================================================
HERO PREMIUM
=========================================================*/

.hero {

    position: relative;

    min-height: 100vh;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    text-align: center;

    padding: 170px 0 120px;

    background:
        linear-gradient(rgba(8, 43, 71, .78),
            rgba(15, 76, 129, .82)),
        url("../images/eglise-akono.jpg");

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

    background-attachment: fixed;

}


/*=========================================================
EFFETS
=========================================================*/

.hero::before {

    content: "";

    position: absolute;

    width: 700px;

    height: 700px;

    border-radius: 50%;

    background: rgba(212, 175, 55, .10);

    top: -260px;

    right: -180px;

    filter: blur(45px);

}

.hero::after {

    content: "";

    position: absolute;

    width: 650px;

    height: 650px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .05);

    bottom: -250px;

    left: -180px;

    filter: blur(60px);

}


/*=========================================================
CONTENU HERO
=========================================================*/

.hero-content {

    position: relative;

    z-index: 5;

    width: min(1100px, 95%);

    margin: auto;

}
.hero-content.full-width{

    grid-column:1 / -1;

    max-width:900px;

    margin:auto;

}


/*=========================================================
LOGO
=========================================================*/

.logo-centenaire {

    width: 180px;

    margin: 0 auto 35px;

    animation: logoFloat 5s ease-in-out infinite;

}


/*=========================================================
BADGE
=========================================================*/

.jubile-badge {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 14px 32px;

    border-radius: 50px;

    background: rgba(255, 255, 255, .12);

    backdrop-filter: blur(10px);

    color: #FFF;

    font-size: 15px;

    font-weight: 600;

    margin-bottom: 35px;

}


/*=========================================================
TITRE
=========================================================*/

.hero h1 {

    color: #FFF;

    font-size: 68px;

    line-height: 1.15;

    margin-bottom: 30px;

    text-shadow: 0 12px 30px rgba(0, 0, 0, .25);

}


/*=========================================================
DESCRIPTION
=========================================================*/

.hero p {

    max-width: 900px;

    margin: auto;

    color: #F2F2F2;

    font-size: 21px;

    margin-bottom: 20px;

}

.citation-centenaire {

    color: var(--or-clair);

    font-style: italic;

    font-size: 20px;

    margin-top: 35px;

}


/*=========================================================
BOUTONS
=========================================================*/

.hero-buttons {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 20px;

    margin-top: 45px;

}

.hero-buttons .btn,
.hero-buttons .btn-vert,
.hero-buttons .btn-or {

    min-width: 220px;

}


/*=========================================================
SCROLL
=========================================================*/

.hero-scroll {

    position: absolute;

    bottom: 35px;

    left: 50%;

    transform: translateX(-50%);

    color: #FFF;

    font-size: 30px;

    animation: bounce 2s infinite;

}


/*=========================================================
COUNTDOWN
=========================================================*/

.countdown-section {

    background: #ffffff;

    padding: 100px 0;

    text-align: center;

}
.countdown-container {

    width: 90%;

    max-width: 1400px;

    margin: 60px auto;

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 30px;

}
.countdown-box {

    position: relative;

    background: linear-gradient(135deg,
            #2E7D32,
            #1F5B24);

    border-radius: 28px;

    padding: 45px 25px;

    min-height: 380px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    overflow: hidden;

    box-shadow: 0 20px 45px rgba(0, 0, 0, .18);

    transition: .35s;

}

.countdown-box:hover {

    transform: translateY(-12px);

    box-shadow: 0 30px 60px rgba(0, 0, 0, .22);

}

.countdown-box span {

    display: block;

    font-size: 96px;

    font-weight: 800;

    color: white;

    line-height: 1;

}

.countdown-box small {

    display: block;

    margin-top: 15px;

    color: rgba(255, 255, 255, .92);

    font-size: 18px;

    font-weight: 500;

}
.countdown-box::after{

    content:"";

    position:absolute;

    right:18px;

    bottom:80px;

    width:120px;

    height:120px;

    background:url("assets/images/leaf.png");

    background-size:contain;

    background-repeat:no-repeat;

    opacity:.08;

}
.countdown-box i {

    width: 85px;

    height: 85px;

    border: 3px solid rgba(255, 255, 255, .9);

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 38px;

    color: white;

    margin-bottom: 35px;

}
.countdown-box::before {

    content: "";

    position: absolute;

    bottom: -35px;

    left: -10%;

    width: 120%;

    height: 80px;

    background: rgba(255, 255, 255, .06);

    border-radius: 50%;

}
@media(max-width:1200px) {

    .countdown-container {

        grid-template-columns: repeat(2, 1fr);

    }

}

@media(max-width:700px) {

    .countdown-container {

        grid-template-columns: 1fr;

    }

}

/*=========================================================
ANIMATIONS
=========================================================*/

@keyframes logoFloat {

    0% {

        transform: translateY(0);

    }

    50% {

        transform: translateY(-12px);

    }

    100% {

        transform: translateY(0);

    }

}

@keyframes bounce {

    0% {

        transform: translate(-50%, 0);

    }

    50% {

        transform: translate(-50%, 12px);

    }

    100% {

        transform: translate(-50%, 0);

    }

}


/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px) {

    .hero {

        background-attachment: scroll;

    }

    .hero h1 {

        font-size: 48px;

    }

    .countdown-container {

        grid-template-columns: repeat(2, 1fr);

    }

}

@media(max-width:768px) {

    .hero {

        padding-top: 140px;

    }

    .hero h1 {

        font-size: 38px;

    }

    .hero p {

        font-size: 18px;

    }

    .logo-centenaire {

        width: 130px;

    }

    .countdown-container {

        grid-template-columns: 1fr;

    }

}
/*=========================================================
THEME OFFICIEL
=========================================================*/

.theme-section {

    background: linear-gradient(135deg,
            var(--bleu),
            var(--bleu-fonce));

    position: relative;

    overflow: hidden;

}

.theme-section::before {

    content: "";

    position: absolute;

    width: 700px;

    height: 700px;

    border-radius: 50%;

    background: rgba(212, 175, 55, .08);

    top: -260px;

    right: -220px;

}

.theme-section::after {

    content: "";

    position: absolute;

    width: 550px;

    height: 550px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .05);

    bottom: -220px;

    left: -180px;

}

.theme-card {

    position: relative;

    z-index: 5;

    max-width: 1100px;

    margin: auto;

    text-align: center;

}

.theme-card h2 {

    color: #FFF;

    font-size: 42px;

    line-height: 1.6;

    margin: 35px 0;

}

.theme-card p {

    color: #DDD;

    font-size: 18px;

}

.theme-card .section-badge {

    background: rgba(255, 255, 255, .15);

    color: var(--or);

}


/*=========================================================
MOT DU CURE
=========================================================*/

.mot-cure-section {

    background: #FFF;

}

.mot-cure-grid {

    display: grid;

    grid-template-columns: 360px 1fr;

    gap: 70px;

    align-items: center;

}

.cure-photo {

    position: relative;

}

.cure-photo img {

    width: 100%;

    border-radius: 30px;

    box-shadow: var(--ombre-lg);

}

.cure-content h2 {

    margin: 20px 0;

}

.cure-content blockquote {

    border-left: 6px solid var(--or);

    padding-left: 25px;

    margin-bottom: 35px;

    font-size: 22px;

    color: var(--bleu);

    font-style: italic;

    font-weight: 500;

}

.cure-content p {

    margin-bottom: 18px;

    text-align: justify;

}

.signature {

    margin-top: 45px;

    padding-top: 25px;

    border-top: 2px solid var(--gris-border);

}

.signature strong {

    display: block;

    font-size: 24px;

    color: var(--bleu);

    margin-bottom: 8px;

}

.signature span {

    color: var(--gris);

    font-size: 17px;

}


/*=========================================================
STATISTIQUES
=========================================================*/

.stats-section {

    background: var(--gris-clair);

}

.stats {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

    gap: 30px;

}

.stat-card {

    background: #FFF;

    border-radius: 25px;

    padding: 45px 30px;

    text-align: center;

    box-shadow: var(--ombre);

    transition: var(--transition);

    position: relative;

    overflow: hidden;

}

.stat-card::before {

    content: "";

    position: absolute;

    left: 0;

    top: 0;

    width: 100%;

    height: 6px;

    background: linear-gradient(90deg,
            var(--bleu),
            var(--or));

}

.stat-card:hover {

    transform: translateY(-10px);

}

.stat-icon {

    width: 80px;

    height: 80px;

    margin: auto;

    margin-bottom: 25px;

    border-radius: 50%;

    background: rgba(15, 76, 129, .08);

    display: flex;

    justify-content: center;

    align-items: center;

}

.stat-icon i {

    font-size: 34px;

    color: var(--bleu);

}

.stat-card h3 {

    font-size: 58px;

    color: var(--bleu);

    margin-bottom: 12px;

}

.stat-card p {

    color: var(--gris);

}


/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:1100px) {

    .mot-cure-grid {

        grid-template-columns: 1fr;

    }

    .cure-photo {

        max-width: 380px;

        margin: auto;

    }

}

@media(max-width:768px) {

    .theme-card h2 {

        font-size: 30px;

    }

    .cure-content blockquote {

        font-size: 19px;

    }

    .stat-card h3 {

        font-size: 46px;

    }

}
/*=========================================================
PROJET DU CENTENAIRE
=========================================================*/

.project-section {

    background: #FFFFFF;

}

.project-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));

    gap: 35px;

    margin-top: 70px;

}

.project-card {

    background: #FFF;

    padding: 40px;

    border-radius: 25px;

    box-shadow: var(--ombre);

    transition: var(--transition);

    position: relative;

    overflow: hidden;

}

.project-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 6px;

    background: linear-gradient(90deg, var(--bleu), var(--or));

}

.project-card:hover {

    transform: translateY(-12px);

    box-shadow: var(--ombre-lg);

}

.project-card i {

    width: 80px;

    height: 80px;

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    background: rgba(15, 76, 129, .08);

    color: var(--bleu);

    font-size: 34px;

    margin-bottom: 25px;

}

.project-card h3 {

    color: var(--bleu);

    margin-bottom: 18px;

}

.project-card p {

    color: var(--gris);

}


/*=========================================================
AGENDA
=========================================================*/

.agenda-section {

    background: var(--gris-clair);

}

.agenda-grid {

    display: grid;

    gap: 30px;

    margin-top: 60px;

}

.agenda-card {

    background: #FFF;

    border-radius: 24px;

    padding: 28px;

    display: flex;

    align-items: center;

    gap: 30px;

    box-shadow: var(--ombre);

    transition: var(--transition);

}

.agenda-card:hover {

    transform: translateX(10px);

}

.agenda-date {

    min-width: 100px;

    height: 100px;

    border-radius: 20px;

    background: linear-gradient(135deg, var(--bleu), var(--bleu-fonce));

    color: #FFF;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    font-size: 34px;

    font-weight: 800;

}

.agenda-date span {

    font-size: 16px;

    margin-top: 5px;

    letter-spacing: 1px;

}

.agenda-content {

    flex: 1;

}

.agenda-content h3 {

    margin-bottom: 10px;

    color: var(--bleu);

}

.agenda-content p {

    margin: 0;

}


/*=========================================================
ACTUALITES
=========================================================*/

.actualites-section {

    background: #FFFFFF;

}

.actualites-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));

    gap: 35px;

    margin-top: 70px;

}

.actualite-card {

    background: #FFF;

    border-radius: 24px;

    overflow: hidden;

    box-shadow: var(--ombre);

    transition: var(--transition);

}

.actualite-card:hover {

    transform: translateY(-12px);

    box-shadow: var(--ombre-lg);

}

.actualite-card img {

    width: 100%;

    height: 250px;

    object-fit: cover;

}

.actualite-header{

display:grid;

grid-template-columns:55% 45%;

gap:50px;

align-items:center;

}

.actualite-header-right h1{

font-size:52px;

line-height:1.2;

max-width:100%;

}

.actualite-card{

overflow:hidden;

border-radius:25px;

}
.actualite-content span {

    display: inline-block;

    color: var(--or);

    font-weight: 600;

    margin-bottom: 15px;

}

.actualite-content h3 {

    color: var(--bleu);

    margin-bottom: 15px;

    line-height: 1.4;

}

.actualite-content p {

    margin-bottom: 25px;

}

.actualite-content a {

    color: var(--bleu);

    font-weight: 700;

}

.actualite-content a:hover {

    color: var(--or);

}


/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px) {

    .project-grid {

        grid-template-columns: repeat(2, 1fr);

    }

    .actualites-grid {

        grid-template-columns: repeat(2, 1fr);

    }

}

@media(max-width:768px) {

    .project-grid {

        grid-template-columns: 1fr;

    }

    .actualites-grid {

        grid-template-columns: 1fr;

    }

    .agenda-card {

        flex-direction: column;

        text-align: center;

    }

    .agenda-date {

        margin: auto;

    }

}
/*=========================================================
GALERIE PREMIUM
=========================================================*/

.galerie-section {

    background: var(--gris-clair);

}

.galerie-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

    gap: 25px;

}

.galerie-item {

    overflow: hidden;

    border-radius: 25px;

    box-shadow: var(--ombre);

    cursor: pointer;

    position: relative;

}

.galerie-item img {

    width: 100%;

    height: 300px;

    object-fit: cover;

    transition: .5s;

}

.galerie-item:hover img {

    transform: scale(1.08);

}


/*=========================================================
BIENFAITEURS
=========================================================*/

.bienfaiteurs-section {

    background: #FFFFFF;

}

.bienfaiteurs-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

    gap: 30px;

}

.bienfaiteur-card {

    background: #FFF;

    border-radius: 25px;

    padding: 40px 30px;

    text-align: center;

    box-shadow: var(--ombre);

    transition: var(--transition);

}

.bienfaiteur-card:hover {

    transform: translateY(-10px);

}

.bienfaiteur-card img {

    width: 110px;

    height: 110px;

    margin: auto;

    margin-bottom: 20px;

    border-radius: 50%;

    object-fit: cover;

    border: 5px solid var(--or);

}

.bienfaiteur-card h3 {

    color: var(--bleu);

    margin-bottom: 10px;

}


/*=========================================================
PARTENAIRES
=========================================================*/

.partenaires-section {

    background: var(--gris-clair);

}

.partenaires-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));

    gap: 35px;

    align-items: center;

}

.partenaires-grid img {

    width: 140px;

    margin: auto;

    filter: grayscale(100%);

    transition: .35s;

}

.partenaires-grid img:hover {

    filter: none;

    transform: scale(1.08);

}


/*=========================================================
DONS
=========================================================*/

.don-section {

    background: linear-gradient(135deg, var(--bleu), var(--bleu-fonce));

}

.don-card {

    max-width: 1000px;

    margin: auto;

    text-align: center;

    color: #FFF;

}

.don-card h2 {

    color: #FFF;

    margin: 25px 0;

}

.don-card p {

    color: #EEE;

}

.don-progress {

    margin: 40px auto;

}

.progress-bar {

    width: 100%;

    height: 18px;

    background: rgba(255, 255, 255, .20);

    border-radius: 50px;

    overflow: hidden;

}

.progress-fill {

    height: 100%;

    background: linear-gradient(90deg,
            var(--or),
            #FFD966);

    border-radius: 50px;

}


/*=========================================================
MAP
=========================================================*/

.map-section {

    background: #FFF;

}

.map-container {

    overflow: hidden;

    border-radius: 25px;

    box-shadow: var(--ombre-lg);

}

.map-container iframe {

    width: 100%;

    height: 520px;

    border: none;

}


/*=========================================================
CONTACT
=========================================================*/

.contact-home {

    background: var(--gris-clair);

}

.contact-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));

    gap: 30px;

}

.contact-card {

    background: #FFF;

    padding: 35px;

    text-align: center;

    border-radius: 25px;

    box-shadow: var(--ombre);

}

.contact-card i {

    font-size: 45px;

    color: var(--or);

    margin-bottom: 20px;

}

.contact-card h3 {

    color: var(--bleu);

    margin-bottom: 15px;

}


/*=========================================================
FOOTER
=========================================================*/

.footer {

    background: #082B47;

    color: #FFF;

}

.footer-grid {

    display: grid;

    grid-template-columns: 2fr 1fr 1fr 1fr;

    gap: 45px;

}

.footer-logo {

    width: 90px;

    margin-bottom: 20px;

}

.footer h3,

.footer h4 {

    color: #FFF;

    margin-bottom: 20px;

}

.footer p {

    color: #DDD;

}

.footer ul {

    list-style: none;

}

.footer ul li {

    margin-bottom: 12px;

}

.footer ul li a {

    color: #DDD;

}

.footer ul li a:hover {

    color: var(--or);

}

.footer-social {

    display: flex;

    gap: 15px;

}

.footer-social a {

    width: 45px;

    height: 45px;

    display: flex;

    justify-content: center;

    align-items: center;

    border-radius: 50%;

    background: rgba(255, 255, 255, .08);

    transition: .35s;

}

.footer-social a:hover {

    background: var(--or);

    color: var(--bleu);

}

.footer-bottom {

    margin-top: 70px;

    padding-top: 30px;

    border-top: 1px solid rgba(255, 255, 255, .15);

    text-align: center;

}

.footer-bottom p {

    color: #CCC;

}


/*=========================================================
BACK TO TOP
=========================================================*/

#backToTop {

    position: fixed;

    right: 30px;

    bottom: 30px;

    width: 55px;

    height: 55px;

    border: none;

    border-radius: 50%;

    background: var(--or);

    color: var(--bleu);

    font-size: 22px;

    cursor: pointer;

    display: none;

    box-shadow: var(--ombre);

    z-index: 999;

}

#backToTop:hover {

    transform: translateY(-4px);

}


/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px) {

    .footer-grid {

        grid-template-columns: repeat(2, 1fr);

    }

}

@media(max-width:768px) {

    .footer-grid {

        grid-template-columns: 1fr;

        text-align: center;

    }

    .footer-social {

        justify-content: center;

    }

    .map-container iframe {

        height: 350px;

    }

}
/*=========================================================
PAGE DE CONNEXION
=========================================================*/

body.login-page {

    margin: 0;

    padding: 0;

    min-height: 100vh;

    display: flex;

    justify-content: center;

    align-items: center;

    background:
        linear-gradient(rgba(15, 76, 129, .75),
            rgba(15, 76, 129, .75)),
        url("../images/logo-centenaire.png") center center no-repeat;

    background-size: cover;

}
.login-container {

    width: 100%;
    max-width: 500px;
    margin: auto;
    padding: 40px;

}
.login-card {

        width: 100%;

}

.login-logo{

    width:140px;

    margin-bottom:25px;

}

.login-card h1{

    color:#0F4C81;

    font-size:34px;

    margin-bottom:8px;

}

.login-card p{

    color:#666;

    margin-bottom:30px;

}

.form-group{

    margin-bottom:22px;

    text-align:left;

}

.form-group label{

    display:block;

    margin-bottom:8px;

    color:#0F4C81;

    font-weight:600;

}

.form-group input{

    width:100%;

    padding:15px;

    border:1px solid #D8D8D8;

    border-radius:12px;

    font-size:15px;

    transition:.30s;

}

.form-group input:focus{

    border-color:#0F4C81;

    box-shadow:

    0 0 0 4px rgba(15,76,129,.12);

}

.btn-publier{

    width:100%;

    padding:16px;

    border:none;

    border-radius:12px;

    background:#0F4C81;

    color:#FFF;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.30s;

}

.btn-publier:hover{

    background:#D4AF37;

    color:#0F4C81;

}

hr{

    border:none;

    height:1px;

    background:#E5E5E5;

    margin:30px 0;

}

@media(max-width:768px){

.login-card{

padding:30px;

}

.login-logo{

width:110px;

}

.login-card h1{

font-size:28px;

}

}

.video-player{

margin-bottom:25px;

border-radius:18px;

overflow:hidden;

box-shadow:0 15px 35px rgba(0,0,0,.15);

}

.video-player iframe,
.video-player video{

width:100%;

height:550px;

display:block;

}

.video-infos{

margin-bottom:25px;

}

.video-gallery{

display:grid;

grid-template-columns:repeat(auto-fill,minmax(240px,1fr));

gap:20px;

}

.video-thumb{

cursor:pointer;

background:#fff;

border-radius:15px;

overflow:hidden;

transition:.3s;

box-shadow:0 5px 15px rgba(0,0,0,.1);

}

.video-thumb:hover{

transform:translateY(-6px);

}

.video-thumb img{

width:100%;

height:160px;

object-fit:cover;

}

.video-thumb p{

padding:12px;

font-weight:600;

font-size:15px;

}

@media(max-width:768px){

.video-player iframe,
.video-player video{

height:250px;

}

.video-gallery{

grid-template-columns:1fr;

}

}

