/*
=========================================================
CMS CENTENAIRE AKONO
ACTUALITES.CSS
---------------------------------------------------------
Page des Actualités
Paroisse Notre-Dame des Sept Douleurs d'Akono
---------------------------------------------------------
Développé par :
ESSOMBA Pancrace Cédric
Pancrace Consulting Group
=========================================================
*/


/*=========================================================
VARIABLES
=========================================================*/

:root {

    --news-vert: #2E7D32;

    --news-bleu: #0F4C81;

    --news-or: #D4AF37;

    --news-bg: #F8FAF8;

    --news-shadow: 0 20px 55px rgba(0, 0, 0, .10);

    --news-radius: 30px;

}


/*=========================================================
HERO
=========================================================*/

.actualites-hero {

    position: relative;

    min-height: 75vh;

    display: flex;

    justify-content: center;

    align-items: center;

    text-align: center;

    overflow: hidden;

    padding: 120px 20px;

    background:

        linear-gradient(rgba(15, 76, 129, .88),

            rgba(46, 125, 50, .86)),

        url("../images/eglise-akono.jpg");

    background-size: cover;

    background-position: center;

    background-attachment: fixed;

}


.hero-overlay {

    position: absolute;

    inset: 0;

    background:

        radial-gradient(transparent,

            rgba(0, 0, 0, .20));

}


.actualites-hero::before {

    content: "";

    position: absolute;

    width: 650px;

    height: 650px;

    right: -220px;

    top: -220px;

    border-radius: 50%;

    background: rgba(212, 175, 55, .08);

}


.actualites-hero::after {

    content: "";

    position: absolute;

    width: 500px;

    height: 500px;

    left: -180px;

    bottom: -180px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .05);

}


.actualites-hero .hero-content {

    position: relative;

    z-index: 2;

    max-width: 950px;

}


.hero-badge {

    display: inline-block;

    padding: 12px 30px;

    border-radius: 50px;

    background: rgba(255, 255, 255, .12);

    backdrop-filter: blur(12px);

    color: #FFF;

    font-weight: 600;

    margin-bottom: 30px;

}


.actualites-hero h1 {

    color: #FFF;

    font-size: 64px;

    font-weight: 800;

    margin-bottom: 30px;

    line-height: 1.2;

    text-shadow: 0 10px 30px rgba(0, 0, 0, .35);

}


.actualites-hero p {

    color: #F3F3F3;

    font-size: 22px;

    line-height: 1.9;

    max-width: 820px;

    margin: auto;

}


/*=========================================================
SECTION TITLE
=========================================================*/

.section-title {

    width: min(900px, 92%);

    margin: auto;

    margin-bottom: 70px;

    text-align: center;

}


.section-title h2 {

    color: var(--news-bleu);

    font-size: 48px;

    margin-bottom: 20px;

    position: relative;

}


.section-title h2::after {

    content: "";

    display: block;

    width: 110px;

    height: 5px;

    margin: 20px auto 0;

    border-radius: 20px;

    background: linear-gradient(90deg,

            var(--news-bleu),

            var(--news-or));

}


.section-title p {

    color: #666;

    font-size: 19px;

    line-height: 2;

}


.section-badge {

    display: inline-block;

    padding: 10px 24px;

    border-radius: 40px;

    background: rgba(15, 76, 129, .10);

    color: var(--news-bleu);

    font-weight: 600;

    margin-bottom: 18px;

}


/*=========================================================
ARTICLE A LA UNE
=========================================================*/

.featured-news {

    width: min(1350px, 92%);

    margin: 80px auto;

    display: grid;

    grid-template-columns: 1.2fr 1fr;

    gap: 45px;

    align-items: center;

    background: #FFF;

    border-radius: 32px;

    overflow: hidden;

    box-shadow: var(--news-shadow);

}


.featured-image {

    height: 100%;

}


.featured-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}


.featured-content {

    padding: 55px;

}


.featured-category {

    display: inline-block;

    padding: 10px 22px;

    border-radius: 40px;

    background: rgba(46, 125, 50, .10);

    color: var(--news-vert);

    font-weight: 600;

    margin-bottom: 25px;

}


.featured-content h2 {

    font-size: 42px;

    color: var(--news-bleu);

    margin-bottom: 25px;

    line-height: 1.3;

}


.featured-date {

    display: flex;

    align-items: center;

    gap: 10px;

    color: #777;

    margin-bottom: 25px;

}


.featured-content p {

    color: #555;

    line-height: 2;

    font-size: 18px;

    margin-bottom: 35px;

}


.featured-content .btn {

    min-width: 220px;

}


/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px) {

    .actualites-hero {

        background-attachment: scroll;

    }

    .featured-news {

        grid-template-columns: 1fr;

    }

    .featured-content {

        padding: 40px;

    }

}


@media(max-width:768px) {

    .actualites-hero h1 {

        font-size: 42px;

    }

    .actualites-hero p {

        font-size: 18px;

    }

    .section-title h2 {

        font-size: 36px;

    }

    .featured-content h2 {

        font-size: 30px;

    }

}


@media(max-width:576px) {

    .featured-content {

        padding: 25px;

    }

}
/*=========================================================
RECHERCHE
=========================================================*/

.search-news {

    width: min(850px, 92%);

    margin: 60px auto;

}

.search-news form {

    display: flex;

    align-items: center;

    background: #FFF;

    border-radius: 60px;

    overflow: hidden;

    box-shadow: var(--news-shadow);

}

.search-news input {

    flex: 1;

    border: none;

    outline: none;

    padding: 22px 30px;

    font-size: 17px;

    background: transparent;

}

.search-news button {

    width: 80px;

    height: 70px;

    border: none;

    cursor: pointer;

    background: linear-gradient(135deg,
            var(--news-bleu),
            var(--news-vert));

    color: #FFF;

    font-size: 22px;

    transition: .3s;

}

.search-news button:hover {

    filter: brightness(1.1);

}


/*=========================================================
CATEGORIES
=========================================================*/

.categories-news {

    width: min(1300px, 92%);

    margin: auto;

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 18px;

}

.category-btn {

    display: inline-block;

    padding: 14px 28px;

    border-radius: 40px;

    background: #FFF;

    color: var(--news-bleu);

    text-decoration: none;

    font-weight: 600;

    box-shadow: 0 10px 25px rgba(0, 0, 0, .08);

    transition: .35s;

}

.category-btn:hover {

    background: var(--news-vert);

    color: #FFF;

    transform: translateY(-4px);

}

.category-btn.active {

    background: linear-gradient(135deg,
            var(--news-bleu),
            var(--news-vert));

    color: #FFF;

}


/*=========================================================
GRILLE DES ARTICLES
=========================================================*/

.actualites-grid {

    width: min(1400px, 92%);

    margin: 70px auto;

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));

    gap: 35px;

}


/*=========================================================
CARTE ARTICLE
=========================================================*/

.actualite-card {

    background: #FFF;

    border-radius: 30px;

    overflow: hidden;

    box-shadow: var(--news-shadow);

    transition: .35s;

    position: relative;

}

.actualite-card:hover {

    transform: translateY(-12px);

    box-shadow: 0 28px 65px rgba(0, 0, 0, .15);

}

.actualite-card::before {

    content: "";

    position: absolute;

    left: 0;

    top: 0;

    width: 100%;

    height: 6px;

    background: linear-gradient(90deg,
            var(--news-bleu),
            var(--news-or));

}


/*=========================================================
IMAGE
=========================================================*/

.actualite-image {

    height: 260px;

    overflow: hidden;

}

.actualite-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: .5s;

}

.actualite-card:hover img {

    transform: scale(1.08);

}


/*=========================================================
CONTENU
=========================================================*/

.actualite-content {

    padding: 32px;

}

.actualite-category {

    display: inline-block;

    padding: 8px 18px;

    border-radius: 30px;

    background: rgba(46, 125, 50, .10);

    color: var(--news-vert);

    font-size: 14px;

    font-weight: 600;

    margin-bottom: 18px;

}

.actualite-content h3 {

    color: var(--news-bleu);

    font-size: 28px;

    margin-bottom: 18px;

    line-height: 1.4;

}

.actualite-date {

    display: flex;

    align-items: center;

    gap: 10px;

    color: #888;

    margin-bottom: 18px;

    font-size: 15px;

}

.actualite-content p {

    color: #666;

    line-height: 1.9;

    margin-bottom: 28px;

}

.actualite-content .btn {

    min-width: 180px;

}


/*=========================================================
AUCUN ARTICLE
=========================================================*/

.empty-programme {

    width: 100%;

    background: #FFF;

    border-radius: 30px;

    padding: 70px;

    text-align: center;

    box-shadow: var(--news-shadow);

}

.empty-programme i {

    font-size: 70px;

    color: var(--news-or);

    margin-bottom: 25px;

}

.empty-programme h3 {

    color: var(--news-bleu);

    margin-bottom: 20px;

}

.empty-programme p {

    color: #666;

}


/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:768px) {

    .actualites-grid {

        grid-template-columns: 1fr;

    }

    .search-news form {

        flex-direction: column;

        border-radius: 25px;

    }

    .search-news input {

        width: 100%;

        padding: 20px;

    }

    .search-news button {

        width: 100%;

        height: 60px;

    }

}/*=========================================================
PAGINATION
=========================================================*/

.pagination-section {

    width: min(1300px, 92%);

    margin: 60px auto;

    display: flex;

    justify-content: center;

}

.pagination {

    display: flex;

    flex-wrap: wrap;

    gap: 15px;

}

.pagination a {

    width: 50px;

    height: 50px;

    display: flex;

    justify-content: center;

    align-items: center;

    text-decoration: none;

    border-radius: 50%;

    background: #FFF;

    color: var(--news-bleu);

    font-weight: 700;

    box-shadow: 0 8px 20px rgba(0, 0, 0, .08);

    transition: .3s;

}

.pagination a:hover {

    background: var(--news-vert);

    color: #FFF;

    transform: translateY(-3px);

}

.pagination a.active {

    background: linear-gradient(135deg,
            var(--news-bleu),
            var(--news-vert));

    color: #FFF;

}


/*=========================================================
SIDEBAR
=========================================================*/

.news-sidebar {

    width: min(1200px, 92%);

    margin: auto;

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

    gap: 35px;

}


/*=========================================================
CARTE SIDEBAR
=========================================================*/

.sidebar-card {

    background: #FFF;

    border-radius: 28px;

    padding: 30px;

    box-shadow: var(--news-shadow);

    position: relative;

    overflow: hidden;

}

.sidebar-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 5px;

    background: linear-gradient(90deg,
            var(--news-bleu),
            var(--news-or));

}

.sidebar-card h3 {

    color: var(--news-bleu);

    margin-bottom: 25px;

    font-size: 24px;

}

.sidebar-card h3 i {

    color: var(--news-or);

    margin-right: 10px;

}


/*=========================================================
LIENS
=========================================================*/

.sidebar-link {

    display: block;

    text-decoration: none;

    padding: 15px 0;

    border-bottom: 1px solid #EEE;

    transition: .3s;

}

.sidebar-link:last-child {

    border-bottom: none;

}

.sidebar-link strong {

    display: block;

    color: #333;

    margin-bottom: 6px;

    transition: .3s;

}

.sidebar-link span {

    color: #888;

    font-size: 14px;

}

.sidebar-link:hover strong {

    color: var(--news-vert);

}


/*=========================================================
CATEGORIES
=========================================================*/

.sidebar-category {

    display: flex;

    justify-content: space-between;

    align-items: center;

    text-decoration: none;

    color: #444;

    padding: 14px 0;

    border-bottom: 1px solid #EEE;

    transition: .3s;

}

.sidebar-category:last-child {

    border-bottom: none;

}

.sidebar-category:hover {

    color: var(--news-vert);

}

.sidebar-category b {

    min-width: 35px;

    height: 35px;

    display: flex;

    justify-content: center;

    align-items: center;

    border-radius: 50%;

    background: rgba(46, 125, 50, .10);

    color: var(--news-vert);

}


/*=========================================================
NEWSLETTER
=========================================================*/

.newsletter-box p {

    color: #666;

    line-height: 1.8;

    margin-bottom: 25px;

}

.newsletter-box form {

    display: flex;

    flex-direction: column;

    gap: 18px;

}

.newsletter-box input {

    width: 100%;

    padding: 16px;

    border: 1px solid #DDD;

    border-radius: 12px;

    outline: none;

    transition: .3s;

}

.newsletter-box input:focus {

    border-color: var(--news-vert);

    box-shadow: 0 0 0 4px rgba(46, 125, 50, .10);

}

.newsletter-box .btn {

    width: 100%;

}


/*=========================================================
ANIMATION
=========================================================*/

.actualite-card,

.sidebar-card {

    animation: fadeUp .8s ease;

}


/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px) {

    .news-sidebar {

        grid-template-columns: 1fr;

    }

}

@media(max-width:768px) {

    .pagination {

        gap: 10px;

    }

    .pagination a {

        width: 45px;

        height: 45px;

    }

}
/*=========================================================
NEWSLETTER
=========================================================*/

.newsletter-section {

    padding: 120px 0;

    background: linear-gradient(135deg,
            #F8FAF8,
            #EEF7EF);

}

.newsletter-container {

    width: min(900px, 92%);

    margin: auto;

    background: #FFF;

    border-radius: 35px;

    padding: 70px;

    text-align: center;

    box-shadow: var(--news-shadow);

    position: relative;

    overflow: hidden;

}

.newsletter-container::before {

    content: "";

    position: absolute;

    width: 350px;

    height: 350px;

    border-radius: 50%;

    background: rgba(46, 125, 50, .06);

    right: -120px;

    top: -120px;

}

.newsletter-container h2 {

    font-size: 44px;

    color: var(--news-bleu);

    margin: 20px 0;

}

.newsletter-container p {

    color: #666;

    line-height: 2;

    font-size: 18px;

    max-width: 700px;

    margin: 0 auto 40px;

}

.newsletter-form {

    display: flex;

    justify-content: center;

    gap: 18px;

    flex-wrap: wrap;

}

.newsletter-form input {

    flex: 1;

    min-width: 280px;

    max-width: 500px;

    padding: 18px 24px;

    border: 1px solid #DDD;

    border-radius: 50px;

    font-size: 16px;

    outline: none;

    transition: .3s;

}

.newsletter-form input:focus {

    border-color: var(--news-vert);

    box-shadow: 0 0 0 5px rgba(46, 125, 50, .10);

}


/*=========================================================
CALL TO ACTION
=========================================================*/

.don-section {

    position: relative;

    overflow: hidden;

    padding: 120px 0;

    background: linear-gradient(135deg,
            var(--news-bleu),
            var(--news-vert));

}

.don-section::before {

    content: "";

    position: absolute;

    width: 650px;

    height: 650px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .05);

    right: -220px;

    top: -220px;

}

.don-section::after {

    content: "";

    position: absolute;

    width: 450px;

    height: 450px;

    border-radius: 50%;

    background: rgba(212, 175, 55, .10);

    left: -150px;

    bottom: -150px;

}

.don-card {

    position: relative;

    z-index: 2;

    width: min(1000px, 92%);

    margin: auto;

    text-align: center;

}

.don-card h2 {

    color: #FFF;

    font-size: 52px;

    margin: 25px 0;

    line-height: 1.3;

}

.don-card p {

    color: #F5F5F5;

    line-height: 2;

    font-size: 19px;

    max-width: 820px;

    margin: auto;

}

.don-card .section-badge {

    background: rgba(255, 255, 255, .12);

    color: #FFF;

}

.hero-buttons {

    margin-top: 45px;

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 20px;

}

.hero-buttons .btn,

.hero-buttons .btn-or,

.hero-buttons .btn-vert {

    min-width: 220px;

}


/*=========================================================
ANIMATIONS
=========================================================*/

@keyframes fadeUp {

    from {

        opacity: 0;

        transform: translateY(40px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}

@keyframes zoomIn {

    from {

        opacity: 0;

        transform: scale(.95);

    }

    to {

        opacity: 1;

        transform: scale(1);

    }

}

.featured-news {

    animation: zoomIn .8s ease;

}

.actualite-card,

.sidebar-card,

.newsletter-container,

.don-card {

    animation: fadeUp .8s ease;

}


/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px) {

    .newsletter-container {

        padding: 50px 35px;

    }

}

@media(max-width:768px) {

    .newsletter-container {

        padding: 40px 25px;

    }

    .newsletter-container h2 {

        font-size: 32px;

    }

    .don-card h2 {

        font-size: 34px;

    }

    .newsletter-form {

        flex-direction: column;

    }

    .newsletter-form input {

        min-width: 100%;

    }

}

@media(max-width:576px) {

    .hero-buttons .btn,

    .hero-buttons .btn-or,

    .hero-buttons .btn-vert {

        width: 100%;

    }

}
