/* ======================================================
   C2F IMMOBILIER
   ACTUALITES & CONSEILS
====================================================== */


/* ======================================================
   SORTIE DU CONTENEUR ASTRA
   Même principe que les pages dispositifs
====================================================== */

.actualites-page{
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    color:#2d2d2d;
}

.actualites-page .site-content{
    width:1200px;
    max-width:92%;
    margin:auto;
}


/* ======================================================
   HERO
   Même dimensions que les dispositifs
====================================================== */

.actualites-hero{
    position:relative;
    min-height:700px;
    display:flex;
    align-items:center;

    background-image:
        url("../images/actualites/hero.webp");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}


/* Voile identique aux dispositifs */

.actualites-hero::before{
    content:"";
    position:absolute;
    inset:0;

    background:linear-gradient(
        90deg,
        rgba(0,0,0,.70) 0%,
        rgba(0,0,0,.50) 35%,
        rgba(0,0,0,.20) 70%,
        rgba(0,0,0,0) 100%
    );
}


/* Contenu hero */

.actualites-hero-contenu{
    position:relative;
    z-index:2;

    width:1200px !important;
    max-width:92% !important;

    margin:auto !important;

    padding:80px 0 !important;

    text-align:left;
}


/* Surtitre */

.actualites-sur-titre{
    display:block;

    margin-bottom:20px;

    color:#d8b37a;

    text-transform:uppercase;
    letter-spacing:2px;

    font-size:18px;
}


/* Titre */

.actualites-hero h1{
    margin:0 0 30px;

    max-width:950px;

    font-size:76px;
    line-height:1.05;

    color:#fff;
}


/* Texte hero */

.actualites-hero p{
    max-width:720px;

    margin:0;

    font-size:28px;
    line-height:1.6;

    color:#fff;
}


/* ======================================================
   PETITS SURTITRES DORES
====================================================== */

.actualites-section-label{
    display:block;

    margin-bottom:12px;

    color:#c79b5f;

    text-transform:uppercase;
    letter-spacing:2px;

    font-size:15px;
    font-weight:700;
}


/* ======================================================
   INTRODUCTION
====================================================== */

.actualites-intro{
    padding:100px 0;
    background:#fff;
}

.actualites-intro-contenu{
    width:850px;
    max-width:100%;

    margin:auto;

    text-align:center;
}

.actualites-intro h2{
    margin:0 0 25px;

    font-size:46px;
    line-height:1.15;

    color:#222;
}

.actualites-intro p{
    margin:0 auto 18px;

    font-size:19px;
    line-height:1.7;

    color:#666;
}


/* ======================================================
   PUBLICATIONS
====================================================== */

.actualites-liste{
    padding:100px 0;

    background:#f6f1e8;
}

.actualites-entete{
    margin-bottom:45px;
}

.actualites-entete h2{
    margin:0;

    font-size:46px;
    line-height:1.15;

    color:#222;
}


/* ======================================================
   GRILLE ARTICLES
====================================================== */

.actualites-grille{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:30px;
}


/* ======================================================
   CARTE ARTICLE
====================================================== */

.actualites-carte{
    display:flex;
    flex-direction:column;

    min-width:0;

    overflow:hidden;

    background:#fff;

    border:1px solid #ececec;
    border-radius:15px;

    box-shadow:
        0 10px 30px rgba(0,0,0,.08);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.actualites-carte:hover{
    transform:translateY(-7px);

    box-shadow:
        0 20px 45px rgba(0,0,0,.14);
}


/* ======================================================
   IMAGE ARTICLE
====================================================== */

.actualites-carte-image{
    display:block;

    width:100%;
    height:240px;

    overflow:hidden;

    background:#eee8df;
}

.actualites-carte-image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .4s ease;
}

.actualites-carte:hover .actualites-carte-image img{
    transform:scale(1.04);
}


/* Image par défaut */

.actualites-image-placeholder{
    display:flex;

    width:100%;
    height:100%;

    align-items:center;
    justify-content:center;

    background:#f4ecdf;
}

.actualites-image-placeholder span{
    color:#c79b5f;

    font-size:18px;
    font-weight:700;
}


/* ======================================================
   CONTENU CARTE
====================================================== */

.actualites-carte-contenu{
    display:flex;
    flex-direction:column;

    flex:1;

    padding:28px;
}


/* Date / catégorie */

.actualites-meta{
    display:flex;
    flex-wrap:wrap;

    align-items:center;

    gap:7px;

    margin-bottom:15px;

    color:#888;

    font-size:14px;
    font-weight:600;
}

.actualites-categorie{
    color:#c79b5f;
}

.actualites-separateur{
    opacity:.5;
}


/* Titre article */

.actualites-carte h3{
    margin:0 0 15px;

    font-size:25px;
    line-height:1.25;
}

.actualites-carte h3 a{
    color:#222;

    text-decoration:none;

    transition:.25s;
}

.actualites-carte h3 a:hover{
    color:#c79b5f;
}


/* Extrait */

.actualites-extrait{
    margin-bottom:25px;

    color:#666;

    font-size:17px;
    line-height:1.65;
}


/* Lire l'article */

.actualites-lire{
    display:inline-block;

    margin-top:auto;

    color:#c79b5f;

    font-size:17px;
    font-weight:700;

    text-decoration:none;

    transition:.25s;
}

.actualites-lire span{
    display:inline-block;

    margin-left:5px;

    transition:.25s;
}

.actualites-lire:hover{
    color:#b48b4c;
}

.actualites-lire:hover span{
    transform:translateX(5px);
}


/* ======================================================
   AUCUN ARTICLE
====================================================== */

.actualites-vide{
    width:100%;

    box-sizing:border-box;

    padding:55px 45px;

    background:#fff;

    border:1px solid #ece6dc;
    border-radius:12px;

    text-align:center;

    box-shadow:
        0 8px 25px rgba(0,0,0,.06);
}

.actualites-vide::before{
    content:"";

    display:block;

    width:55px;
    height:4px;

    margin:0 auto 28px;

    background:#c79b5f;

    border-radius:3px;
}

.actualites-vide h3{
    margin:0 0 15px;

    color:#222;

    font-size:26px;
}

.actualites-vide p{
    max-width:700px;

    margin:auto;

    color:#666;

    font-size:17px;
    line-height:1.7;
}


/* ======================================================
   PAGINATION
====================================================== */

.actualites-pagination{
    display:flex;

    justify-content:center;

    gap:8px;

    margin-top:50px;
}

.actualites-pagination .page-numbers{
    display:inline-flex;

    min-width:44px;
    height:44px;

    align-items:center;
    justify-content:center;

    padding:0 14px;

    background:#fff;

    border:1px solid #ece6dc;
    border-radius:6px;

    color:#c79b5f;

    text-decoration:none;
}

.actualites-pagination .page-numbers.current{
    background:#c79b5f;

    border-color:#c79b5f;

    color:#fff;
}


/* ======================================================
   CTA
====================================================== */

.actualites-cta{
    padding:100px 0;

    background:#fff;
}

.actualites-cta-contenu{
    width:900px !important;
    max-width:92% !important;

    margin:auto !important;

    text-align:center;
}

.actualites-cta h2{
    margin:0 0 25px;

    font-size:46px;
    line-height:1.15;

    color:#222;
}

.actualites-cta p{
    max-width:760px;

    margin:0 auto 38px;

    font-size:19px;
    line-height:1.7;

    color:#666;
}

.actualites-bouton{
    display:inline-block;

    padding:18px 40px;

    background:#c79b5f;

    border:2px solid #c79b5f;
    border-radius:6px;

    color:#fff !important;

    font-size:18px;
    font-weight:600;

    text-decoration:none;

    transition:.25s;
}

.actualites-bouton:hover{
    background:#b78b4d;

    border-color:#b78b4d;

    color:#fff !important;
}


/* ======================================================
   RESPONSIVE TABLETTE
====================================================== */

@media (max-width:900px){

    .actualites-page{
        width:100%;
        margin-left:0;
        margin-right:0;

        overflow-x:hidden;
    }


    /* HERO */

    .actualites-hero{
        min-height:620px;
    }

    .actualites-hero-contenu{
        width:auto !important;
        max-width:none !important;

        margin:0 !important;

        padding:70px 28px !important;
    }

    .actualites-sur-titre{
        font-size:15px;
        line-height:1.5;

        margin-bottom:18px;
    }

    .actualites-hero h1{
        font-size:58px;
        line-height:1;

        margin-bottom:25px;
    }

    .actualites-hero p{
        max-width:100%;

        font-size:23px;
        line-height:1.5;
    }


    /* CONTENEURS */

    .actualites-page .site-content{
        width:auto;
        max-width:none;

        margin:0;

        padding-left:28px;
        padding-right:28px;
    }


    /* INTRO */

    .actualites-intro,
    .actualites-liste,
    .actualites-cta{
        padding:75px 0;
    }

    .actualites-intro-contenu{
        width:auto;
        max-width:850px;
    }

    .actualites-intro h2,
    .actualites-entete h2,
    .actualites-cta h2{
        font-size:40px;
    }


    /* ARTICLES */

    .actualites-grille{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:25px;
    }

    .actualites-carte-image{
        height:230px;
    }


    /* CTA */

    .actualites-cta-contenu{
        width:auto !important;
        max-width:none !important;

        padding:0 28px;
    }

}


/* ======================================================
   RESPONSIVE MOBILE
====================================================== */

@media (max-width:600px){

    html,
    body{
        overflow-x:hidden;
    }


    /* HERO */

    .actualites-hero{
        min-height:auto;

        align-items:center;
    }

    .actualites-hero-contenu{
        padding:55px 22px 60px !important;
    }

    .actualites-sur-titre{
        font-size:13px;
        line-height:1.45;

        letter-spacing:1.5px;

        margin-bottom:18px;
    }

    .actualites-hero h1{
        font-size:36px;
        line-height:1.08;

        margin-bottom:25px;

        overflow-wrap:normal;
        word-break:normal;
        hyphens:none;
    }

    .actualites-hero p{
        font-size:20px;
        line-height:1.55;
    }


    /* CONTENEURS */

    .actualites-page .site-content{
        padding-left:22px;
        padding-right:22px;
    }


    /* INTRO */

    .actualites-intro,
    .actualites-liste,
    .actualites-cta{
        padding:60px 0;
    }

    .actualites-intro-contenu{
        text-align:left;
    }

    .actualites-section-label{
        font-size:13px;

        letter-spacing:1.5px;

        margin-bottom:10px;
    }

    .actualites-intro h2,
    .actualites-entete h2,
    .actualites-cta h2{
        font-size:34px;
        line-height:1.15;
    }

    .actualites-intro p,
    .actualites-cta p{
        font-size:16px;
        line-height:1.6;
    }


    /* ARTICLES */

    .actualites-entete{
        margin-bottom:32px;
    }

    .actualites-grille{
        grid-template-columns:1fr;

        gap:22px;
    }

    .actualites-carte-image{
        height:220px;
    }

    .actualites-carte-contenu{
        padding:24px;
    }

    .actualites-carte h3{
        font-size:23px;
    }

    .actualites-extrait{
        font-size:16px;
        line-height:1.55;
    }

    .actualites-vide{
        padding:35px 24px;
    }

    .actualites-vide h3{
        font-size:23px;
    }

    .actualites-vide p{
        font-size:16px;
    }


    /* CTA */

    .actualites-cta-contenu{
        padding:0 22px;
    }

    .actualites-bouton{
        display:block;

        width:100%;

        box-sizing:border-box;

        padding:17px 15px;

        font-size:16px;
    }

}
/* ======================================================
   RECHERCHE ACTUALITES
====================================================== */

.actualites-recherche{
    margin:-10px 0 45px;
    padding:28px 32px;

    background:#fff;

    border:1px solid #e6ded2;
    border-radius:12px;

    box-shadow:0 8px 25px rgba(0,0,0,.05);
}

.actualites-recherche-form{
    margin:0;
}

.actualites-recherche-label{
    display:block;

    margin-bottom:12px;

    color:#2d2d2d;

    font-size:17px;
    font-weight:700;
}

.actualites-recherche-champs{
    display:flex;
    align-items:stretch;

    width:100%;
    gap:12px;
}

.actualites-recherche-champs input[type="search"]{
    flex:1;
    min-width:0;
    height:54px;

    box-sizing:border-box;

    padding:0 18px;

    background:#fff;

    border:1px solid #d9d1c5;
    border-radius:6px;

    color:#2d2d2d;

    font-size:16px;

    outline:none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.actualites-recherche-champs input[type="search"]::placeholder{
    color:#aaa;
}

.actualites-recherche-champs input[type="search"]:focus{
    border-color:#c79b5f;

    box-shadow:
        0 0 0 3px rgba(199,155,95,.13);
}

.actualites-recherche-champs button{
    flex:0 0 auto;

    min-width:160px;
    height:54px;

    padding:0 28px;

    background:#c79b5f;

    border:2px solid #c79b5f;
    border-radius:6px;

    color:#fff;

    font-size:16px;
    font-weight:700;

    cursor:pointer;

    transition:
        background .25s ease,
        border-color .25s ease;
}

.actualites-recherche-champs button:hover{
    background:#b78b4d;
    border-color:#b78b4d;
}


/* Recherche active */

.actualites-recherche-info{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    margin-top:18px;
    padding-top:18px;

    border-top:1px solid #eee7dd;
}

.actualites-recherche-info p{
    margin:0;

    color:#666;

    font-size:15px;
}

.actualites-recherche-info strong{
    color:#2d2d2d;
}

.actualites-recherche-info a{
    color:#c79b5f;

    font-size:15px;
    font-weight:700;

    text-decoration:none;
}

.actualites-recherche-info a:hover{
    color:#b78b4d;
}


/* ======================================================
   RECHERCHE - MOBILE
====================================================== */

@media (max-width:600px){

    .actualites-recherche{
        margin:-5px 0 32px;

        padding:22px 20px;
    }

    .actualites-recherche-label{
        font-size:16px;
        line-height:1.4;
    }

    .actualites-recherche-champs{
        display:block;
    }

    .actualites-recherche-champs input[type="search"]{
        display:block;

        width:100%;
        height:52px;

        margin-bottom:10px;

        font-size:16px;
    }

    .actualites-recherche-champs button{
        display:block;

        width:100%;
        min-width:0;
        height:52px;
    }

    .actualites-recherche-info{
        display:block;
    }

    .actualites-recherche-info p{
        margin-bottom:10px;
    }

}

/* ======================================================
   CORRECTION AFFICHAGE RESULTATS RECHERCHE
====================================================== */

.actualites-recherche{
    box-sizing:border-box !important;
    width:100% !important;

    margin:0 0 45px !important;
    padding:28px 32px !important;

    background:#fff !important;

    border:1px solid #e6ded2 !important;
    border-radius:12px !important;

    box-shadow:0 8px 25px rgba(0,0,0,.05) !important;
}

.actualites-recherche-champs{
    display:flex !important;
    width:100% !important;
    gap:12px !important;
}

.actualites-recherche-champs input[type="search"]{
    flex:1 !important;
    width:auto !important;
    max-width:none !important;
}

.actualites-recherche-champs button{
    min-width:160px !important;

    background:#c79b5f !important;
    border-color:#c79b5f !important;

    color:#fff !important;
}

.actualites-recherche-info{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;

    margin-top:18px !important;
    padding-top:18px !important;

    border-top:1px solid #eee7dd !important;
}

.actualites-recherche-info a{
    color:#c79b5f !important;
    opacity:1 !important;

    font-weight:700 !important;
    text-decoration:none !important;
}

.actualites-recherche-info a:hover{
    color:#b78b4d !important;
}