/*
Theme Name: Expression Digitale
Theme URI: https://expression-digitale.com/
Author: Expression Digitale
Author URI: https://expression-digitale.com/
Description: Thème parent personnalisé pour le projet ExpressionDigitale.
Version: 1.0
Text Domain: expressiondigitale
*/

/* ==========================================================
   FONTS
========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

@font-face {
    font-family: 'CCat Simple Kid';
    src: url('../fonts/CCat-SimpleKid-Regular.eot');
    src:
        url('../assets/fonts/CCat-SimpleKid-Regular.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/CCat-SimpleKid-Regular.woff2') format('woff2'),
        url('../assets/fonts/CCat-SimpleKid-Regular.woff') format('woff'),
        url('../assets/fonts/CCat-SimpleKid-Regular.ttf') format('truetype'),
        url('../assets/fonts/CCat-SimpleKid-Regular.svg#CCatSimpleKidRegular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
/* ==========================================================
   GLOBAL
========================================================== */
html{
    scroll-behavior:smooth;
}

body {
  background: #FAEFE5;
  font-family: "Montserrat", sans-serif;
  padding-top:120px;
}

section,.section-center{
    scroll-margin-top:120px; /* adapte à la hauteur de ton header */
}

.site-header.scrolled .header-container{
    min-height:90px;
}

.site-header.scrolled img.custom-logo{
    width:110px;
}


/* ==========================================================
   HEADER
========================================================== */

.header-center{
    width:100%;
    max-width:1280px;
    margin:0 auto;
}

.site-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
    background:#F9F1E7;
    border-top:6px solid #323982;
    transition:all .3s ease;
}

.header-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:140px;
}

img.custom-logo {
    height:auto;
    width:150px;
}

.main-navigation{
    flex:1;
    display:flex;
     margin-left:80px;
}

.main-menu{
    display:flex;
    gap:45px;
    list-style:none;
    margin:0;
    padding:0;
}

.main-menu a{
    color:#323982;
    text-decoration:none;
    font-size:16px;
    font-weight:500;
}

.main-menu a:hover{
    color:#BFC61A;
}

.header-social{
    list-style:none;
    margin:0;
    padding:0;
}

.header-social a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#BFC61A;
    color:#fff;
    text-decoration:none;
    padding:18px 35px;
    border-radius:999px;
    font-weight:500;
    font-size:16px;
}

.header-social a:hover{
  background:#323982;
}
.menu-toggle{
    display:none;
    width:42px;
    height:42px;
    background:none;
    border:none;
    cursor:pointer;
}

.menu-toggle span{
    display:block;
    height:3px;
    background:#323982;
    margin:7px 0;
    border-radius:3px;
}

.main-menu a{
    transition:.3s;
}

.main-menu a.active{
    color:#BFC61A;
}



/* ==========================================================
   SECTION
========================================================== */
/* Conteneur centré */

.section{
   width:100%;
    padding:80px 0;
}
.container{
    width:100%;
    max-width:1280px;
    margin:0 auto;
}

/* Section pleine largeur */
.section-full{
    width:100%;
    padding:80px 0;
}

/* Option : contenu pleine largeur mais avec marges internes */
.section-full .container-full{
    width:100%;
    padding:0 20px;
}

/* ==========================================================
  BANNER
========================================================== */
.banner{
  height:400px;
}
/* ==========================================================
   MISSION HOME
========================================================== */

.missions-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:30px;
    align-items:start;
}

/* Décalage des colonnes 2 et 4 */
.mission-card:nth-child(2n){
    margin-top:60px;
}


 .mission-card h3{
    margin:0;
    color:#fff;
    font-size:18px;
    font-weight: 300;
}
.mission-card{
    overflow:hidden;
    border-radius:15px;
    background:#fff;
}

.mission-image img{
    width:100%;
    height:180px;
    display:block;
    object-fit:cover;
}

.mission-title{
    padding:25px;
    text-align: center;
}



/* Tablette */
@media (max-width:991px){

    .missions-grid{
        grid-template-columns:repeat(2, 1fr);
    }

    .mission-card:nth-child(2n){
        margin-top:40px;
    }

}

/* Mobile */
@media (max-width:767px){

    .missions-grid{
        grid-template-columns:1fr;
    }

    .mission-card:nth-child(2n){
        margin-top:0;
    }

}

/* ==========================================================
   ACTION HOME
========================================================== */
.actions-section{
    background:#323982;
    padding:80px 0;
}

.actions-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:60px 120px;;
}

.action-card{
    color:#fff;
    text-align: center;
}

.action-card h4{
    margin:0 0 20px;
    color:#fff;
    font-size:18px;
    text-transform: uppercase;
}

.action-description{
    color:#fff;
    line-height:1.7;
    font-size:16px;
    font-weight:100;
}

.action-description p:first-child{
    margin-top:0;
}

.action-description p:last-child{
    margin-bottom:0;
}


/* ==========================================================
   Qui HOME
========================================================== */

.section-qui{
    padding:80px 0;
}

.qui-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}

.qui-content h2{
    margin-bottom:25px;
}

.qui-content p{
    line-height:1.8;
}

.qui-cards{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:30px;
    align-items:start;
}
.qui-card{
    position:relative;
    color:#fff;
    border-radius:20px;
    padding:55px 35px 35px;
    overflow:visible;
}

.qui-icon{
    position:absolute;
    top:-28px;
    left:35px;

    width:70px;
    height:70px;
    border-radius:50%;

    background:#F8EFE6;

    display:flex;
    align-items:center;
    justify-content:center;
}

.qui-icon i{
    font-size:34px;
    color:#323982;
}

.qui-text{
    font-size:1.2rem;
    line-height:1.6;
    font-weight:600;
}

.qui-text p{
    margin:0;
}

/*-------------*/

/* ==========================================================
   RESPONSIVE GLOBAL
========================================================== */

/* Grand écran */
@media (min-width:1400px){

    .header-center,
    .container{
        max-width:1280px;
    }

}


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

@media (max-width:1100px){

    body{
        padding-top:100px;
    }

    section,
    .container{
        scroll-margin-top:100px;
    }


    /* HEADER */

    .header-container{
        min-height:100px;
        padding:0 30px;
    }

    img.custom-logo{
        width:120px;
    }


    .main-navigation{
        margin-left:30px;
    }


    .main-menu{
        gap:25px;
    }


    .main-menu a{
        font-size:14px;
    }


    .header-social a{
        padding:15px 25px;
        font-size:14px;
    }


    /* SECTIONS */

    .container{
        padding-left:30px;
        padding-right:30px;
        max-width: fit-content;
    }


    .section-full{
        padding:60px 0;
    }


    /* BANNER */

    .banner{
        height:320px;
    }


    /* ACTIONS */

    .actions-grid{
        grid-template-columns:repeat(2,1fr);
        gap:50px;
    }


    /* QUI */

    .qui-grid{
        gap:40px;
    }

}


/* ==========================================================
   TABLETTE PETITE + MOBILE LARGE
========================================================== */

@media (max-width:850px){


    body{
        padding-top:90px;
    }


    section,
    .section-center{
        scroll-margin-top:90px;
    }


    /* HEADER MOBILE */

    .site-header{
        border-top-width:4px;
    }


    .header-container{
        min-height:90px;
        padding:0 20px;
    }


    img.custom-logo{
        width:100px;
    }


    .main-navigation{
        position:absolute;
        top:90px;
        left:0;
        width:100%;
        background:#F9F1E7;

        display:none;
        margin:18px 0;
        padding:30px 20px;

    }


    .main-navigation.active{
        display:block;
    }


    .main-menu{
        flex-direction:column;
        gap:20px;
    }


    .main-menu a{
        font-size:16px;
        display:block;
    }


    .header-social{
        display:none;
    }


    .menu-toggle{
        display:block;
        margin-right: 20px;
    }



    /* SECTIONS */

    .section-center{
        padding:60px 20px;
    }


    .section-full{
        padding:60px 0;
    }



    /* BANNER */

    .banner{
        height:250px;
    }



    /* MISSIONS */

    .missions-grid{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }


    .mission-image img{
        height:160px;
    }


    .mission-title{
        padding:20px 15px;
    }


    .mission-card h3{
        font-size:16px;
    }



    /* ACTION */

    .actions-section{
        padding:60px 0;
    }


    .actions-grid{
        grid-template-columns:1fr;
        gap:40px;
    }


    .action-card h4{
        font-size:16px;
    }


    .action-description{
        font-size:15px;
    }



    /* QUI */

    .qui-grid{
        grid-template-columns:1fr;
        gap:50px;
    }


    .qui-cards{
        grid-template-columns:1fr;
        gap:40px;
    }


    .qui-card{
        padding:45px 25px 25px;
    }


}


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

@media (max-width:480px){


    body{
        padding-top:80px;
    }


    .header-container{
        min-height:80px;
    }


    img.custom-logo{
        width:90px;
    }


    .main-navigation{
        top:80px;
    }


    .section-center{
        padding:45px 15px;
    }



    h1{
        font-size:32px;
    }


    h2{
        font-size:26px;
    }


    h3{
        font-size:20px;
    }



    /* MISSIONS */

    .missions-grid{
        grid-template-columns:1fr;
    }


    .mission-image img{
        height:200px;
    }


    .mission-card:nth-child(2n){
        margin-top:0;
    }



    /* QUI */

    .qui-icon{
        width:60px;
        height:60px;
        left:25px;
    }


    .qui-icon i{
        font-size:28px;
    }


    .qui-text{
        font-size:1rem;
    }


    /* BUTTON */

    .header-social a{
        width:100%;
        justify-content:center;
    }


}