/*
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Thème enfant Astra — personnalisations du site.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* ======================================================================
   01 — GÉNÉRAL
   ====================================================================== */

html,
body {
    width: 100%;
    overflow-x: hidden;
}

.ast-container {
    padding-left: 0;
    padding-right: 0;
}

/* ======================================================================
   02 — NAVIGATION ET MENUS
   ====================================================================== */

.menu-item-2240 .menu-image-title-after.menu-image-title,
.menu-item-2240 .menu-image-title-after.menu-image-title:hover,
.menu-item-2241 a,
.menu-item-2241 .elementor-sub-item.menu-link:hover {
    color: #000 !important;
}

.elementor-nav-menu--main
.elementor-nav-menu--dropdown
.sub-arrow .e-font-icon-svg {
    transform: rotate(0deg) !important;
}

#menu-1-d58e99c li {
    width: 316px;
}

.menu_mobile a {
    color: #000 !important;
}

/* Classe appliquée aux <li> par functions.php */
.masquer-menu-item {
    display: none !important;
}

/* Bouton Démarches dans l'en-tête */
.bouton_demarches a {
    border: 1px solid #fff;
}

/* ======================================================================
   03 — PAGE D'ACCUEIL : BLOCS IMAGE
   ====================================================================== */

.elementor-19 .elementor-element.elementor-element-22d40fe
.elementor-image-box-wrapper .elementor-image-box-content,
.elementor-19 .elementor-element.elementor-element-b76d9b5
.elementor-image-box-wrapper .elementor-image-box-content {
    text-align: left !important;
}

@media screen and (min-width: 1700px) {
    .elementor-19 .elementor-element.elementor-element-22d40fe
    .elementor-image-box-wrapper .elementor-image-box-content,
    .elementor-19 .elementor-element.elementor-element-b76d9b5
    .elementor-image-box-wrapper .elementor-image-box-content {
        padding-left: 45px;
    }
}

/* ======================================================================
   04 — PUBLICATIONS : MÉTADONNÉES ET NAVIGATION
   ====================================================================== */

.entry-meta,
.navigation.post-navigation {
    display: none !important;
}

/* ======================================================================
   05 — AGENDA : FILTRES CAF ET BOUTONS
   ====================================================================== */

.data-target-div1 .caf-post-layout1 a.caf-read-more:hover {
    background-color: #000 !important;
}

/* Remplacer "Read more" par "En savoir plus" */

.caf-read-more {
    font-size: 0 !important;
    line-height: 0 !important;
}

.caf-read-more::before {
    content: "En savoir plus";
    display: inline-block;
    font-size: 14px;
    line-height: 1.4;
}

.caf-read-more::after {
    content: none !important;
}

.caf-meta-content {
    display: none !important;
}

.selectcont {
    background-color: #e0e0e0 !important;
}

.elementor-post__read-more {
    color: #fff !important;
    background: #000;
    padding: 10px 15px;
}

/* ======================================================================
   06 — PAGE BUDGET
   ====================================================================== */

.budget_text_1 {
    display: block;
    padding-top: 26px !important;
}

/* ======================================================================
   07 — GRANDS PROJETS : CARTES ELEMENTOR
   ====================================================================== */

.eael-grid-post-holder {
    border: none;
}

/* ======================================================================
   08 — CATEGORY AJAX FILTER : APPARENCE COMMUNE
   ====================================================================== */

/*
   Classes CSS à ajouter dans Elementor :

   Grands projets :
   caf-grands-projets

   Appels à candidatures :
   caf-appels-candidatures

   Les deux pages partagent la même mise en forme.
   Seules les couleurs changent.
*/

.caf-grands-projets #caf-filter-layout1,
.caf-appels-candidatures #caf-filter-layout1 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Conteneur des filtres */

.caf-grands-projets #caf-filter-layout1 .caf-filter-container,
.caf-appels-candidatures #caf-filter-layout1 .caf-filter-container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Éléments de liste */

.caf-grands-projets #caf-filter-layout1 .caf-filter-container li,
.caf-appels-candidatures #caf-filter-layout1 .caf-filter-container li {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    list-style: none !important;
}

/* Apparence des boutons */

.caf-grands-projets #caf-filter-layout1 .caf-filter-container li a,
.caf-appels-candidatures #caf-filter-layout1 .caf-filter-container li a {
    display: inline-block !important;
    width: auto !important;
    background: #ffffff !important;
    color: #333333 !important;
    border: 1px solid #dddddd !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    text-align: center !important;
    transform: none !important;
    scale: 1 !important;
    box-shadow: none !important;
    transition: none !important;
    animation: none !important;
}

/* Suppression des effets de déplacement */

.caf-grands-projets #caf-filter-layout1 .caf-filter-container li a:focus,
.caf-grands-projets #caf-filter-layout1 .caf-filter-container li a:active,
.caf-appels-candidatures #caf-filter-layout1 .caf-filter-container li a:focus,
.caf-appels-candidatures #caf-filter-layout1 .caf-filter-container li a:active {
    transform: none !important;
    scale: 1 !important;
    box-shadow: none !important;
    transition: none !important;
}

/* ======================================================================
   09 — GRANDS PROJETS : THÈME ORANGE
   ====================================================================== */

/* Survol */

.caf-grands-projets #caf-filter-layout1 .caf-filter-container li a:hover {
    background: #FFF0E3 !important;
    color: #D87528 !important;
    border-color: #F7984F !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Filtre actif */

.caf-grands-projets #caf-filter-layout1 .caf-filter-container li a.active {
    background: #F7984F !important;
    color: #ffffff !important;
    border-color: #F7984F !important;
}

/* Filtre actif au survol */

.caf-grands-projets #caf-filter-layout1 .caf-filter-container li a.active:hover {
    background: #E78336 !important;
    color: #ffffff !important;
    border-color: #E78336 !important;
}

/* ======================================================================
   10 — APPELS À CANDIDATURES : THÈME VIOLET
   ====================================================================== */

/* Survol */

.caf-appels-candidatures #caf-filter-layout1 .caf-filter-container li a:hover {
    background: #F8EFF9 !important;
    color: #99549E !important;
    border-color: #D39AD7 !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Filtre actif */

.caf-appels-candidatures #caf-filter-layout1 .caf-filter-container li a.active {
    background: #D39AD7 !important;
    color: #ffffff !important;
    border-color: #D39AD7 !important;
}

/* Filtre actif au survol */

.caf-appels-candidatures #caf-filter-layout1 .caf-filter-container li a.active:hover {
    background: #B978BE !important;
    color: #ffffff !important;
    border-color: #B978BE !important;
}

/* ======================================================================
   11 — CATEGORY AJAX FILTER : RESPONSIVE MOBILE
   ====================================================================== */

@media (max-width: 767px) {

    .caf-grands-projets #caf-filter-layout1 .caf-filter-container,
    .caf-appels-candidatures #caf-filter-layout1 .caf-filter-container {
        justify-content: center !important;
        gap: 4px !important;
    }

    .caf-grands-projets #caf-filter-layout1 .caf-filter-container li a,
    .caf-appels-candidatures #caf-filter-layout1 .caf-filter-container li a {
        padding: 8px 12px !important;
        font-size: 13px !important;
    }
}

/* ======================================================================
   12 — APPELS À PROJETS ET À CANDIDATURES : BADGES CAF
   ====================================================================== */

/*
   Les badges sont ajoutés par functions.php selon les étiquettes
   de la taxonomie personnalisée appel_projet_tag.

   En cours : vert
   Clôturé  : rouge
   À venir  : bleu
*/

/* Image à la une : référence de positionnement du badge */

.caf-post-layout1 .caf-featured-img-box {
    position: relative;
}

/* Présentation commune des badges */

.caf-post-layout1 .caf-status-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 5;
    display: inline-block;
    max-width: calc(100% - 24px);
    padding: 7px 13px;
    border-radius: 5px;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.4px;
    text-align: center;
    text-transform: uppercase;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    pointer-events: none;
}

/* Statut : Ouvert */

.caf-post-layout1 .caf-status-ouvert {
    background-color: #25834B;
}

/* Statut : Clôturé */

.caf-post-layout1 .caf-status-cloture {
    background-color: #C0392B;
}

/* Statut : À venir */

.caf-post-layout1 .caf-status-a-venir {
    background-color: #2878B8;
}

/* Adaptation des badges sur mobile */

@media (max-width: 767px) {

    .caf-post-layout1 .caf-status-badge {
        top: 10px;
        left: 10px;
        max-width: calc(100% - 20px);
        padding: 6px 10px;
        font-size: 11px;
        letter-spacing: 0.3px;
    }
}


/* ======================================================================
   13 — APPELS : STATUT DANS LES FICHES ELEMENTOR
   ====================================================================== */

.tampon-statut-appel {
    display: inline-block;
    padding: 12px 18px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
}

/* Ouvert : vert */
.tampon-statut-ouvert {
    background-color: #E8F5EC;
    color: #25834B;
    border-left: 4px solid #25834B;
}

/* Clôturé : rouge */
.tampon-statut-cloture {
    background-color: #FCEBE9;
    color: #C0392B;
    border-left: 4px solid #C0392B;
}

/* À venir : bleu */
.tampon-statut-a-venir {
    background-color: #EAF3FB;
    color: #2878B8;
    border-left: 4px solid #2878B8;
}
