/*
Theme Name: Nisarg Child
Theme URI: http://falgunidesai.com/work/nisarg-a-wordpress-theme/
Template: nisarg
Author: Falguni Desai
Author URI: http://falgunidesai.com/
Description: Nisarg is a new fully responsive and translation ready theme that allows you to create stunning blogs and websites. Theme is well suited for travel, photography, recipe, design, art, personal and any other creative websites and blogs. The theme is developed using Bootstrap 3 that makes it mobile and tablets friendly. It has various options in WordPress Customizer to change look of the theme. Theme customizer can be used to add your own header image of flexible height, background image, to set background color, header text color and accent color(Supports seven different accent colors). Theme supports eight post formats, such as: Video, Image, Aside, Status, Audio, Quote, Link and Gallery.
Tags: flexible-header,two-columns,right-sidebar,theme-options,custom-colors,custom-background,custom-header,custom-colors,custom-menu,featured-images,post-formats,sticky-post,translation-ready,rtl-language-support,threaded-comments,featured-images,sticky-post
Version: 1.2.8.1.1504097227
Updated: 2017-08-30 14:47:07

*/

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

* {
    text-wrap: pretty;
    scroll-behavior: smooth;
    scroll-margin-top:100px;
    transition: 0.3s;
}

.body, button, input, select, textarea{
    font-family: 'Lato', sans-serif;
}

.full-width{
    width: 100%;
    display: flex;
    justify-content: center;
}

.content{
    scroll-behavior: smooth;
}

.single-post h1, .page h1{
    font-weight: 700;
}

/**
 * NAV
 * ----------------------------------------------------------------------------
 */

 .dropdown-toggle{
    background: #CC0039;
    color: white;
 }

 .main-navigation .menu-toggle:hover{
    background-color: transparent;
 }

 button:hover{
    background: transparent;
 }

 .dropdown-toggle:after{
    background: #CC0039;
 }

 .navbar-fixed-top{
    position: relative;
 }

 .dropdown-toggle:hover, .dropdown-toggle:focus{
    color: white !important;
    background: #CC0039;
 }
    
 .site-logo{
    content: url(images/logo-condorcet.svg);
    height: 84px;
    width: auto;
    margin-right: 0;
    margin-bottom: 0;
    object-fit: contain;
    object-position: left;

}

.main-navigation{
    background-color: #FFF4F6 !important;

}

/* Menu : 1re lettre majuscule, reste en minuscule */
.main-navigation .primary-menu > li > a{
    text-transform: lowercase;
}
.main-navigation .primary-menu > li > a::first-letter{
    text-transform: uppercase;
}

/* Dépliants : même palette que le nav (fond #900028, survol #a8002f) */
.sub-menu{
    background-color: #900028 !important;
    border: none !important;
    box-shadow: none !important;
}

.sub-menu > li,
.sub-menu > li > a{
    border: none !important;
}

.main-navigation .sub-menu li > a{
    color: #fff !important;
    text-transform: lowercase;
}
.main-navigation .sub-menu li > a::first-letter{
    text-transform: uppercase;
}

.main-navigation .primary-menu > li > .sub-menu li > a:hover, .main-navigation .primary-menu > li > .sub-menu li > a:focus {
    color: #fff;
    background-color: #a8002f !important;
}

.main-navigation .primary-menu > .current_page_item > a, .main-navigation .primary-menu > .current_page_item > a:hover, .main-navigation .primary-menu > .current_page_item > a:focus, .main-navigation .primary-menu > .current-menu-item > a, .main-navigation .primary-menu > .current-menu-item > a:hover, .main-navigation .primary-menu > .current-menu-item > a:focus, .main-navigation .primary-menu > .current_page_ancestor > a, .main-navigation .primary-menu > .current_page_ancestor > a:hover, .main-navigation .primary-menu > .current_page_ancestor > a:focus, .main-navigation .primary-menu > .current-menu-ancestor > a, .main-navigation .primary-menu > .current-menu-ancestor > a:hover, .main-navigation .primary-menu > .current-menu-ancestor > a:focus{
    border: none !important;
    color: #FF7676;
}


.main-navigation .primary-menu > li > a:hover:not(.btn-header:hover > a){
    color: #FF7676 !important ;
        }

        .btn-header:hover > a{
            color: #ECEFF1 !important;
        }

        .fast-access{
            display: none;
        }


@media (min-width: 768px) {




    .main-navigation li{
 
    }

    .main-navigation .primary-menu > li > .sub-menu > li > a {
        width: 300px;
    }

    .spacer-nav{
        height: 50px;
    }


    .main-navigation{
        height: 108px;
        display: flex;
        align-items: center;

        justify-content: center;
    }
    
    #navigation_menu{
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 30px;
        width: 1564px;              /* 1920 - 356 */
        max-width: calc(100% - 30px);
        margin: 0 auto;
        padding: 0;
    }

    .site-logo-container {
        align-items: center;
        margin-bottom: 0;
        flex: 0 0 auto;
    }

    /* Pilule bordeaux contenant le menu */
    .main-navigation .navbar-collapse{
        background-color: #900028;
        border-radius: 96px;
        padding: 0 0 0 36px;
        display: flex;
        align-items: center;
        flex: 0 1 auto;
    }

    
    .main-navigation .primary-menu > li > a{
        border: none;
        color: #fff;
    font-family: Lato;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: lowercase;
    padding: 17px 14px;
    }



    .main-navigation .menu-item-has-children > a:after{
        color: #fff;
    }

    /* Flèche collée au texte (5px) au lieu d'être plaquée à droite du lien */
    .main-navigation .primary-menu > li.menu-item-has-children > a{
        position: relative;
    }
    .main-navigation .primary-menu > li.menu-item-has-children > a:after{
        position: static;
        right: auto;
        top: auto;
        margin-left: 10px;
    }
    
    .btn-header{
        padding: 0 !important;
        background-color: #CC0039;
        border-radius: 96px;
        margin-left: 18px;
        margin-right: 8px;
        display: flex;
        align-items: center;
        align-self: center;
    }

    .btn-header > a{
        padding: 12px 28px !important;
        color: #fff !important;
    }

    .btn-header:hover {
        background-color: #a8002f !important;
    }

    .btn-header:hover > a{
        color: #fff !important;
    }

    .btn-header.current-menu-item.current_page_item{
        background-color: #a8002f !important;
        padding: 0 !important;
    }

    .btn-header.current-menu-item.current_page_item > a{
        color: #fff;
    }




    .main-navigation ul{
        display: flex;
        align-items: center;
    }
}


@media (max-width: 768px) {

    .main-navigation{
        padding-top: 15px;
        padding-bottom: 15px;
        background-color: #900028 !important;
    }

    .spacer-nav{
        height: 70px;
    }


    .main-navigation .primary-menu > li > a:hover, .main-navigation .primary-menu > li > a{
        color: #ECEFF1;
        border: none;
    }

    .sub-menu{
        background-color: #900028;
    }

    .main-navigation .primary-menu > li > .sub-menu > li > a{
        color: #ECEFF1;
    }

    .main-navigation .menu-toggle .icon-bar{
        background-color: #ECEFF1;
    }

    .main-navigation .menu-toggle{
        border-color: #ECEFF1;
    }

    .site-logo-container{
        padding-left: 15px;
    }

    .main-navigation .navbar-collapse, .main-navigation .navbar-collapse{
        margin-top: 15px;
    }
}

/**
 * END ONF NAV
 * ----------------------------------------------------------------------------
 */


 /**
 * FOOTER
 * ----------------------------------------------------------------------------
 */

.site-footer{
    background-color: #900028;
    color: #fff;
    padding: 60px 0 36px;
    letter-spacing: 0;
}

.footer-inner{
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 40px;
}

/* Logo + logos partenaires */
.footer-top{
    display: flex;
    align-items: center;
    gap: 50px;
    flex-wrap: wrap;
    margin-bottom: 55px;
}
.footer-logo-link{ display: inline-flex; }
.footer-logo{
    height: 120px;
    width: auto;
    margin: 0;
}
.footer-partners{
    display: flex;
    align-items: center;
    gap: 42px;
    flex-wrap: wrap;
}
.footer-partners img{
    height: 60px;
    width: auto;
    margin: 0;
    object-fit: contain;
}
.footer-partners a:nth-child(1) img{ height: 76px; }   /* Nouvelle-Aquitaine (carré) */
.footer-partners a:nth-child(5){       /* GRETA : pastille blanche */
    background: #FFF;
    border-radius: 55px;
    padding: 8px 32px;
    display: inline-flex;
    align-items: center;
}
.footer-partners a:nth-child(5) img{ height: 70px; }   /* GRETA */

/* Colonnes de liens */
.footer-cols{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 30px;
    margin-bottom: 45px;
}
.footer-col h4{
    color: #FFF;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    margin: 0 0 20px;
}
.footer-col ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 13px;
}
.footer-col a{
    color: #FFF;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration: none;
    transition: 0.2s;
}
.footer-col a:hover{ color: #fff; }

/* Barre du bas (pilule blanche) */
.footer-bottom{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    background: #fff;
    border-radius: 96px;
    padding: 14px 36px;
}
.footer-legal{
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.footer-legal a{
    color: #900028;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    text-decoration: none;
}
.footer-legal a:hover{ color: #a8002f; }
.footer-legal span{ color: #900028; }
.footer-credit{
    color: #900028;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 600;
}
.footer-credit a{
    color: #900028;
    text-decoration: none;
}
.footer-credit a:hover{
    text-decoration: underline;
}

@media (max-width: 768px){
    .site-footer{ padding: 40px 0 28px; }
    .footer-inner{ padding: 0 20px; }
    .footer-top{ gap: 30px; margin-bottom: 40px; }
    .footer-logo{ height: 90px; }
    .footer-partners{ gap: 24px; }
    .footer-partners img{ height: 46px; }
    .footer-partners a:nth-child(1) img{ height: 58px; }
    .footer-partners a:nth-child(5) img{ height: 54px; }
    .footer-cols{ grid-template-columns: 1fr 1fr; gap: 28px; }
    .footer-bottom{ border-radius: 24px; justify-content: center; text-align: center; }
}

.footer-nav {
    padding: 0;
}


.footer-nav  > li > a:hover {
    color: #FF7676;
}

.footer-nav > li{
    list-style: none;
    margin-bottom: 5px;
}

.footer-nav > li > a{
    font-size: 14px;
    font-weight: 400;
    font-family: 'Lato', sans-serif;
    
}

.footer-container{
    width: 1170px;
    display: flex;
    justify-content: space-between;
}

.footer-column{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer-pro > span{
    color: #FF7676;
    font-size: 19px;
    font-weight: 700;
    
}

.footer-pro > p {
    font-weight: 400;
    font-size: 16px;
    line-height: normal;
    margin-top: 5px;
    margin-bottom: 0;
}

.footer-title{
    color: #8dc5ff;
    font-size: 16px;
    font-weight: 700;
}

.footer-title-red{
    color: #FF7676;
    font-size: 19px;
    font-weight: 600;
}

.logos-partenaires{
    display: flex;
    align-items: flex-end;
}

.column-1{
    max-width: 30%;
}

.colum-2{
    width: 15%;
    gap: 10px;
}

.colum-3{
    width: 35%;
    gap: 10px;
}

.column-4{
    max-width: 20%;
    gap: 5px;
}

.footer-socials{
    display: flex;
    gap: 15px;
    margin-top: 10px;
}

.footer-contact > p {
    margin-bottom: 10px;
}

.footer-contact > p {
    margin-top: 8px;
}

@media (max-width: 768px) {


    .footer-container{
        flex-direction: column;
        gap: 30px
    }

    .colum-2{
        display: none;
    }

    .colum-3{
        display: none;
    }

    .column-1{
        max-width: 100%;
    }

    .column-4{
        width: 100%;
        max-width: 100%;
    }
}
 
  /**
 * END OF FOOTER
 * ----------------------------------------------------------------------------
 */

 
   /**
 * SIDEBAR
 * ----------------------------------------------------------------------------
 */

 .widget-area{
    position: sticky;
    top: 30px;
    margin-bottom: 2em;
    margin-top: 50px;
 }

 .column-title{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
 }

 .column-title > span{
    height: 1px;
    width: 90px;
    background-color: #CC0039;
 }

 .column-title > p {
    color: #CC0039;
    text-align: center;
    font-family: 'Lato', sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    margin-bottom: 20px;
 }

 #secondary > .widget {
    border-radius: 10px;
    padding: 0px;
    margin-bottom: 13px;
}

.sidebar-link{
    padding: 10px 15px;
    display: flex;
}

.sidebar-tools{
    display: flex;
    align-items: center;
    gap: 15px;
    height: 50px;
    width: 100%;
}

.sidebar-link:hover > div > span {
    color: #8dc5ff;
}

.sidebar-tools > img{
    margin-bottom: 0;
    max-width: 30%;
    min-width: 30%;
    height: 47px;
    object-fit: contain;
}

.sidebar-tools > span{
    color: #212121;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    letter-spacing: 0.48px;
    text-transform: uppercase;
    width: 60%;
}


.sidebar-time{
    background-color: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    padding: 10px 15px;
}

.sidebar-time > span {
    color: #CC0039;
text-align: center;
font-family: 'Abel', sans-serif;
font-size: 28px;
font-weight: 500;
line-height: normal;
letter-spacing: 1.96px;
text-transform: uppercase;
}

.sidebar-time > div{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    width: 100%;
}

.sidebar-time > div > img{
    max-width: 30%;
    min-width: 30%;
    height: 47px;
    object-fit: contain;
    margin: 0;
}

.sidebar-time > div > p {
    color: #900028;
text-align: center;
font-family: 'Lato', sans-serif;
font-size: 20px;
font-style: normal;
font-weight: 900;
line-height: normal;
letter-spacing: 0.6px;
margin-bottom: 0;
}

.sidebar-time > div > span {
    color: #FFF;
font-family: 'Lato', sans-serif;
font-size: 17px;
font-style: normal;
font-weight: 400;
line-height: normal;
letter-spacing: 0.51px;
margin-bottom: 5px;
}

@media (max-width: 768px) {
    .widget-area{
        margin-bottom: 30px;
    }

    .sidebar-tools{
        width: 100%;
        height: 100px;
    }

    .sidebar-tools > img{
        margin-bottom: 0;
        max-width: 20%;
        min-width: 20%;
        height: auto;
        object-fit: contain;
    }
}

   /**
 * END OF SIDEBAR
 * ----------------------------------------------------------------------------
 */

    /**
 * HomePage
 * ----------------------------------------------------------------------------
 */

 .hero-header{
    height: 600px;
    width: auto;
    background-color: #8dc5ff;
    background-image: url(/wp-content/uploads/2024/01/Frame_22.png);
    background-size:cover;
    background-repeat: no-repeat;  
    background-position: center; 
 }

 .hero-main{
    width: 100%;
    height: 600px;
    display: flex;
    align-items: left;
    justify-content: center;
    flex-direction: column;
    align-items: center;
 }

 .hero-main-content{
    width: 1376px; /* 1920 - (272*2) : laisse 272px de marge de chaque côté */
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
 }

 .hero-main-content > h1{
    color: #ffffff;
font-family: 'Lato', sans-serif;
font-size: 3.2em;
font-style: normal;
font-weight: 700;
line-height: 103.8%; /* 34.565px */
text-transform:uppercase;
margin-top: 5px;
 }

 .hero-main-content > span {
    background-color: #900028;
    color: white;
    padding: 5px 10px;
    padding-right: 20px;
    font-size: 1.5em;
 }

 .hero-main-content > h1 > span{
    color: #FFFFFF;
    font-size: 0.8em;
    font-weight: 700;

 }

 .hero-box{
    background-color: #FFF;
    padding: 25px 60px 25px 35px;
    margin-top: 30px;
    border-radius: 10px;
    display: flex;
flex-direction: column;
align-items: baseline;
 }

 .hero-box > div > p {
    color: #000;
font-family: 'Lato', sans-serif;
font-size: 1.5em;
font-style: normal;
font-weight: 500;
line-height: normal;
margin-bottom: 20px;

 }

 .hero-box > div > p > span {
    color: #CC0039;
    font-weight: 600;
 }

 .btn-hero{
    padding: 15px 32px;
    background-color: #FF7676;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: baseline;
    gap: 15px;
    transition: 0.2s;
 }

 .btn-hero > span {
    color: #FFF;
font-size: 1.1em;
font-style: normal;
font-weight: 700;
line-height: normal;
 }

 .btn-hero > img {
    height: 30px;
    margin-bottom: 0;
    margin-top: 5px;
 }

 .btn-hero:hover{
    background-color: #a8002f;
    transition: 0.2s;
 }

 .btn-hero:hover > span{
    color: #fff;
 }

 .article-previews-container {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 50px;
}

.article-preview {
    display: flex;
    align-items: center;
    gap: 50px;
    background-color: #ffffff;
    border-radius: 10px;
    padding: 50px 60px;
    height: fit-content;
    transition: 0.2s;
}

.article-image {
    width: 45%;
    height: 285px;
}

.article-image img {
    width: 100%;
    height: 285px;
    object-fit: cover;
    background-position: center;
    border-radius: 5px;
    margin-bottom: 0;
}

.article-content {
    min-height: 285px;
    width: 55%;
    display: flex;
    flex-direction: column;
    justify-content:flex-start;
    align-items: center;
}

.article-content > span {
    height: 1px;
    background-color: #CC0039;
    width: 90px;
    margin-bottom: 20px;
}

.article-title {
    margin-top: 0;
    margin-bottom: 15px;
    color: #CC0039;
text-align: center;
font-family: 'Lato', sans-serif;
font-size: 24px;
font-style: normal;
font-weight: 700;
line-height: normal;
letter-spacing: 0.72px;
text-transform: uppercase;
}

.article-excerpt {
    color: #000;
    text-align: center;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-wrap: pretty;
    
}

.article-content > div > p {
    margin-bottom: 15px;
}

.article-meta{
display: flex;
justify-content: center;
gap: 15px;
margin-bottom: 25px;
}

.article-meta > span{
    color: #727272;
font-family: 'Lato', sans-serif;
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: normal;
letter-spacing: 1.08px;

}

.article-read-more:hover .article-preview{
    -webkit-box-shadow:0px 10px 35px 2px rgba(62,66,66,0.07);
    -moz-box-shadow: 0px 10px 35px 2px rgba(62,66,66,0.07);
    box-shadow: 0px 10px 35px 2px rgba(62,66,66,0.07);
}

.article-read-more > p {
    color: #000;
text-align: center;
font-family: 'Lato', sans-serif;
font-size: 18px;
font-style: normal;
font-weight: 400;
line-height: normal;
max-height: 158px; /* ajustez la hauteur maximale selon vos besoins */
overflow: hidden;
text-overflow: ellipsis;
position: relative;
}

.article-read-more > p ::after{
    content: '...'; /* points de suspension en unicode */
}

.article-read-more:hover .article-image > img{
  transform: scale(1.10);
  transition: 0.3s;
}

.article-image > img{
    transition: 0.5s;
}

.article-image{
    overflow: hidden;
    border-radius: 10px;
}

.btn-primary{
    padding: 8px 20px;
    background-color: #CC0039;
    border-radius: 96px;
    display: flex;
    align-items: center;
    justify-content: baseline;
    gap: 10px;
    transition: 0.2s;
 }

 .btn-primary > span {
    color: #FFF;
font-size: 16px;
font-style: normal;
font-weight: 700;
line-height: normal;
 }

 .btn-primary > img {
    height: 25px;
    margin-bottom: 0;
    margin-top: 0;
 }

 .btn-primary:hover{
    background-color: #a8002f;
    transition: 0.2s;
 }

 .btn-primary:hover > span{
    color: #fff;
 }

 .posts{
    margin-bottom: 100px;
 }


 /* .store1{
    width: 100vw;
    background-color: #ffffff;
    height: 700px;
    position: absolute;
    margin-top: -700px;
    z-index: -1;
 } */

 .store{
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    min-height: 470px;
    overflow: visible;
    margin-bottom: 100px;
    padding: 50px 44px 50px 50px;
 }

 .store::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 100px;                 /* le fond s'arrête à 100px du bord droit */
    border-radius: 30px 0;
    background: url(/wp-content/themes/nisarg-child/images/store-condorcet.jpg) lightgray -58.793px -54.801px / 110.128% 117.593% no-repeat;
    z-index: 0;
 }

 .store-arc{
    position: absolute;
    top: -38px;
    right: 0;
    width: 200px;
    height: auto;
    margin-bottom: 0;
    z-index: 1;
 }

 .store-content{
    position: relative;
    z-index: 2;
    width: 892px;
    height: 506px;
    max-width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 16px;
    padding: 40px 44px;
    background-color: rgba(255, 255, 255, 0.86);
    border-radius: 6px;
 }

 .store-content > h2{
    color: #16163C;
    text-align: left;
    font-family: 'Lato', sans-serif;
    font-size: 34px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: normal;
    text-transform: none;
    margin: 0;
 }

 .store-content > p{
    color: #333;
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.55;
    text-align: left;
    margin: 0;
 }

 .store-content ul{
    margin: 0;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
 }

 .store-content ul li{
    color: #333;
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
 }

 .store-content ul li strong{
    color: #16163C;
    font-weight: 700;
 }

 .store-content > p span,
 .store-content ul span{
    color: #CC0039;
    font-weight: 700;
 }

 .formations{
    width: 100%;
    margin-bottom: 70px;
 }

 .formations-title{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
 }

 .formations-title > h2 {
    color: #CC0039;
text-align: center;
font-family: 'Lato', sans-serif;
font-size: 28px;
font-style: normal;
font-weight: 700;
line-height: normal;
letter-spacing: 0.84px;
text-transform: uppercase;
margin-top: 0;
margin-bottom: 40px;
 }
 .grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
  }
 .formations-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(250px,1fr));
    gap: 35px 38px;            /* vertical 35px / horizontal 38px */
    margin-bottom: 20px;
 }

 .formation-single{
    overflow: hidden;
    border-radius: 30px 0;          /* arrondi haut-gauche + bas-droite uniquement */
    transition: 0.3s;
 }

 .formation-img{
    background-color: #8f8f8f;
    height: 205px;
    position: relative;
    overflow: hidden;
    transition: 0.3s;
 }

 .formation-single:hover > .formation-img > img{
    transform: scale(1.10);
    transition: 0.3s;
 }

 .formation-single:hover > .formation-img > img {
    transition: 0.3s;
 }

 .formation-img > img{
  margin-bottom: 0;
  width: 100%;
  object-fit: cover;
  height: inherit;
 }

 .formation-tags{
    position: absolute;
    display: flex;
    bottom: 0;
 }

 .tag-red{
    width: fit-content;
    border-radius: 0px 10px 0px 0px;
    background-color: #CC0039;
    padding: 4px 20px;
    z-index: 5;
 }

 .formation-tags > div > span {
    color: #FFF;
font-family: 'Lato', sans-serif;
font-size: 16px;
font-style: normal;
font-weight: 900;
line-height: normal;
letter-spacing: 0.48px;
 }

 .tag-blue{
    width: fit-content;
    border-radius: 0px 10px 0px 0px;
    background-color: #8dc5ff;
    padding: 0px 20px;
    margin-left: -10px;
 }

 .formation-title{
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background-color: #CC0039;
    height: 70px;
    padding: 0 22px;
 }

 .formation-title > h3 {
    text-align: left;
    color: #FFF;
font-family: 'Lato', sans-serif;
font-size: 18px;
font-style: normal;
font-weight: 900;
line-height: normal;
letter-spacing: 0.54px;
margin: 0;
 }

.chartrons{
    position: relative;
    margin-bottom: 2em;
}

.chartrons > img {
    max-width: 100%;
}

.chartrons-content{
    background: rgba(255, 255, 255, 0.85);
    padding: 50px 60px 40px 50px;
    position: absolute;
    width: fit-content;
    display: flex;
    flex-direction: column;
    align-items: baseline;
    width: 625px;
    top: 60px;
    right: 0;
    border-radius: 10px;
    margin-right: 50px;
}

.chartrons-content > h2 {
    color: #CC0039;
    font-family: 'Lato', sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    margin-bottom: 40px;
}

.chartrons-content > p {
    color: #000;
font-family: 'Lato', sans-serif;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 27px;
margin-bottom: 50px;
}

.chartrons-content > p > span {
    color: #CC0039;
font-weight: 700;
}

.dots-right{
    position: absolute;
    right: 15px;
    margin-top: -60px;
    z-index: -1;
}

.btn-box{
    width: 100%;
    display: flex;
    justify-content: flex-end;
    padding-right: 40px;
}

.btn-box > a > div {
    padding: 15px 30px;
}

@media (max-width: 768px) {

    .fast-access{
        display:flex;
        margin-bottom: 30px;
        margin-top: -20px;
    }

    #fast{
        scroll-margin-top:20px;
    }

    .fast-access > a > div {
        background-color: #8dc5ff;
        padding: 16px 25px;
    }


    .hero-header{
        background-position: 30%;
        height: 500px;
    }

    .hero-main-content{
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }

    .hero-box{
        padding: 20px;
        
    }

    .hero-main{
        height: 500px;
    }

    .hero-box > div > p {
        font-size: 20px;
    }

    .hero-main-content > h1 > span {
        font-size: 40px;
    }


    .hero-main-content > h1 {
        font-size: 40px;
        margin-top: 20px;
        line-height: 115%;
    }


    .dots, .dots-right{
        display: none;
    }

    .article-previews-container{
        margin-bottom: 30px;
    }

    .article-preview{
        flex-direction: column;
        padding: 15px;
        gap: 15px;
    }

    .article-image{
        width: 100%;
    }

    .article-content{
        width: 100%;
        min-height: auto;
    padding-bottom: 30px;
    }

    .posts{
        margin-bottom: 130px;
    }

    .formations{
        margin-bottom: 50px;
    }

    #les-formations {
        transition: 0.3s;
        scroll-behavior: smooth;
        
    }


    .chartrons-content{
        position: initial;
        width: 100%;
        padding: 15px
    }

    .chartrons-content > h2 {
        text-align: center;
        margin-bottom:20px;
    }

    .chartrons-content > p {
        text-align: center;
    }

    .spacer-nav{
        height: 30px;
    }

    .store{
        justify-content: center;
        min-height: 0;
        padding: 25px;
        margin-bottom: 50px;
    }

    .store-content{
        width: 100%;
        padding: 25px;
    }

    .store-content > h2{
        font-size: 26px;
    }

    .store-arc{
        width: 120px;
        top: -24px;
        right: 16px;
    }


}

    /**
 * End of HomePage
 * ----------------------------------------------------------------------------
 */


   /**
 * SINGLE
 * ----------------------------------------------------------------------------
 */

 .post-comments{
    display: none;
 }

 .post-content{
    border-radius: 10px;
 }

 .nav-links{
    border-radius: 10px;
 }

 .content-area{
    margin-top:50px;
 }

 .partenaires1 > .wp-block-column{
    display: flex;
    justify-content: space-around;
    align-items: center;

 }

 .partenaires1 > figure > img{
    object-fit: contain;
    width: 150px;
    
 }

 .partenaires2 > .wp-block-column{
    display: flex;
    justify-content: space-around;
    align-items: center;
 }

 .wp-block-file{
    overflow: visible;
 }

 .wp-block-file .wp-block-file__button {
    background: #FF7676;
    color: #FFF;
text-align: center;
font-family: Lato;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: normal;
padding: 15px;
border-radius: 10px;
transition: 0.3s
 }

 .wp-block-file > a:hover {
    background-color: #8dc5ff;
    transition: 0.3s;
 }

 .wp-block-file.aligncenter{
    height: 50px;
 }

 .page-template-default.page.page-id-2117 h2{
    font-weight: 700;
 }


/**
 * =====================================================================
 * REFONTE STYLE ACCUEIL — d'après maquette (2026-06-22)
 * ---------------------------------------------------------------------
 * Ajustements de STYLE uniquement (aucune modif de structure/contenu).
 * Pour tout annuler : supprimer ce bloc entier (jusqu'au marqueur FIN).
 * Pour désactiver un seul réglage : commenter le sous-bloc /* A *\/ ...
 * =====================================================================
 */

/* --- A. Fond de page rose pâle (comme la maquette) -------------------- */
body {
    background-color: #FCF1F1;
}

/* --- B. Boutons d'action en rouge de marque (au lieu du corail) ------- */
.btn-primary,
.btn-hero {
    background-color: #CC0039;
}
/* survol : #a8002f (même que le bouton contact du header) */

/* --- C. Bandeaux des cartes formation en bleu nuit ------------------- */
.formation-title {
    background-color: #16163C;
}

/* --- D. Titres de section : bleu nuit, alignés à gauche, soulignés ---- */
/* "LES ACTUALITÉS DU LYCÉE" / "LES PROJETS" */
.column-title {
    align-items: flex-start;
}
.column-title > p {
    color: #0E1330;
    text-align: left;
    font-family: 'Lato', sans-serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    margin-bottom: 5px;
}
.column-title > span {
    height: 4px;
    width: 200px;
    background-color: #900028;
}
/* "LES FORMATIONS PROFESSIONNELLES" */
.formations-title {
    align-items: flex-start;
}
.formations-title > h2 {
    color: #0E1330;
    text-align: left;
    font-family: 'Lato', sans-serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    margin-bottom: 5px;
}
.formations-title > span {
    height: 4px;
    width: 200px;
    background-color: #900028;
    margin-bottom: 30px;
}

/* --- E. Hero box : arrondi en diagonale (haut-G + bas-D) ------------- */
/* ordre : haut-gauche | haut-droite | bas-droite | bas-gauche */
.hero-box {
    border-radius: 10px 0 10px 0;
}

/* --- F. Actualités : 2 cartes côte à côte (format vertical) ---------- */
/* Scopé à .actus-2up : la section "Projets" garde sa mise en page. */
.actus-2up {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: stretch;   /* les 2 colonnes prennent la même hauteur */
}
.actus-2up .article-read-more {
    height: 100%;           /* le lien occupe toute la hauteur de la cellule */
    display: block;
}
.actus-2up .article-preview {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0 0 25px 0;    /* image affleurante en haut, padding bas */
    overflow: hidden;
    height: 100%;           /* => les 2 cartes ont la même hauteur */
    border-radius: 10px 0 10px 0;  /* arrondi diagonal (haut-G + bas-D) */
}
.actus-2up .article-image {
    width: 100%;
    border-radius: 0;       /* les coins hauts suivent l'arrondi de la carte */
}
.actus-2up .article-content {
    width: 100%;
    min-height: auto;
    padding: 25px 30px 0;
    align-items: flex-start;
}
.actus-2up .article-title,
.actus-2up .article-excerpt {
    text-align: left;
}
.actus-2up .article-meta {
    justify-content: flex-start;
}
@media (max-width: 768px) {
    .actus-2up {
        grid-template-columns: 1fr;   /* empilées sur mobile */
    }
}

/* --- G. Largeur max du contenu accueil portée à 1519px -------------- */
/* .row n'a pas de largeur propre : c'est .container qui plafonne (1170px).
   On élargit donc les deux, uniquement sur l'accueil (.home). */
@media (min-width: 1200px) {
    .home .container {
        width: auto;
        max-width: 1519px;
    }
}
.home .row {
    max-width: 1519px;
}

/* --- H. Largeur en plus pour le contenu, pas pour la sidebar -------- */
/* La sidebar garde une largeur fixe ; la colonne contenu (donc les
   articles .actus-2up) absorbe tout l'espace gagné par le .container. */
@media (min-width: 1200px) {
    .home .widget-area {
        width: 300px;
    }
    .home .content-area {
        width: calc(100% - 300px);
    }
}

/* --- Espace informations (remplace l'ancienne section Projets) ------- */
.infos{
    width: 100%;
    margin-bottom: 70px;
}

.infos-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;                       /* images bord à bord, pas de fond */
}

.info-card{
    position: relative;
    display: block;
    height: 606px;
    overflow: hidden;            /* masque pour le zoom */
}

.info-card:nth-child(1){ border-radius: 30px 0 0 0; }
.info-card:nth-child(3){ border-radius: 0 0 30px 0; }

/* Couche image (zoomée au survol, sans agrandir le cadre) */
.info-card::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: lightgray;
    background-repeat: no-repeat;
    transition: transform 0.4s ease;
}

.info-card:nth-child(1)::before{
    background-image: url(images/info-entreprise.jpg);
    background-position: 50%;
    background-size: cover;
}
.info-card:nth-child(2)::before{
    background-image: url(images/info-parents.jpg);
    background-position: 78% top;
    background-size: cover;
}
.info-card:nth-child(3)::before{
    background-image: url(images/info-vie-lycee.jpg);
    background-position: 38% top;
    background-size: auto 84%;
    background-color: #0E1330;
}

.info-card:hover::before{
    transform: scale(1.08);
}

/* Dégradé fixe par-dessus l'image */
.info-card::after{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(14, 19, 48, 0.00) 42.67%, #0E1330 89.64%);
}

.info-card-body{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 28px 26px;
}

.info-card .btn-primary{
    background-color: #C72C48;
    padding: 10px 42px;
}

.info-card-body h3{
    color: #fff;
    font-family: 'Lato', sans-serif;
    font-size: 28px;
    font-weight: 800;
    line-height: normal;
    margin: 0;
}

@media (max-width: 768px){
    .infos-grid{
        grid-template-columns: 1fr;
    }
    .info-card{
        height: 320px;
    }
}

/* =====================================================================
 * FIN REFONTE STYLE ACCUEIL
 * =====================================================================
 */


/* =====================================================================
 * PAGE PRÉSENTATION
 * =====================================================================
 */

.pres-page{
    background-color: #FCF1F1;
}

.pres-container{
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 40px;
}

.pres-section{
    padding: 70px 0;
}

/* --- Hero --- */
.pres-hero{
    position: relative;
    display: flex;
    align-items: center;
    height: 542px;
    background-color: #16163C;       /* fond de secours si l'image tarde */
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
    overflow: hidden;
    transition: none;
}
.pres-hero::before{
    content: "";
    transition: none;
    position: absolute;
    inset: 0;
    background: #0E133080;
    z-index: 1;
}
.pres-hero-inner{
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 0 40px 0 300px;
}
.pres-hero-text{
    max-width: 920px;
}
.pres-hero-text h1{
    color: #FFF;
    font-family: 'Lato', sans-serif;
    font-size: 60px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    margin: 0 0 22px;
}
.pres-hero-text p{
    color: #FFF;
    font-family: 'Lato', sans-serif;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin: 0;
    max-width: 600px;
}

/* --- Libellés / titres de section --- */
.pres-label{
    display: block;
    color: #C72C48;
    font-family: 'Lato', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    margin-bottom: 6px;
}
.pres-title{
    color: #0E1330;
    font-family: 'Lato', sans-serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    margin: 0 0 36px;
}
.pres-title-center{
    text-align: left;
    font-size: 37px;
}

/* --- 2 colonnes image + texte --- */
.pres-2col{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}
.pres-media img{
    width: 100%;
    display: block;
    margin: 0;
    border-radius: 10px 30px;    /* TL/BR 10px — TR/BL 30px */
    object-fit: cover;
    object-position: 50% 50%;
}
.pres-text .pres-lead{
    color: #0E1330;
    font-family: 'Lato', sans-serif;
    font-size: 22px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    margin: 0 0 18px;
}
.pres-text p{
    color: #0E1330;
    font-family: 'Lato', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 0 0 16px;
}
.pres-text strong{
    color: #0E1330;
    font-weight: 700;
}

/* --- Panneau Formations --- */
.pres-formations-panel{
    background-color: #FFFFFF;
    border-radius: 10px 30px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.pres-block{
    background-color: #FFF4F6;
    border-radius: 22px;
    padding: 34px 40px;
}
.pres-sub{
    text-align: center;
    color: #16163C;
    font-family: 'Lato', sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 24px;
}
.pres-bars{
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.pres-bar{
    background-color: #CC0039;
    border-radius: 10px;
    padding: 15px;
    text-align: center;
}
.pres-bar span{
    color: #FFF;
    font-family: Lato;
    font-size: 21px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
}

.pres-postbac-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}
.pres-card{
    background-color: #fff;
    border-radius: 0 30px;
    padding: 26px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
}
.pres-badge{
    background-color: #F7D5DE;
    color: #16163C;
    border-radius: 96px;
    padding: 6px 24px;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 700;
}
.pres-card p{
    color: #16163C;
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
}

@media (max-width: 768px){
    .pres-hero{ min-height: 420px; }
    .pres-hero-inner{ padding: 0 20px; }
    .pres-hero-text h1{ font-size: 32px; }
    .pres-section{ padding: 45px 0; }
    .pres-container{ padding: 0 20px; }
    .pres-title{ font-size: 28px; }
    .pres-2col{ grid-template-columns: 1fr; gap: 28px; }
    .pres-block{ padding: 24px 20px; }
    .pres-postbac-grid{ grid-template-columns: 1fr; }
}


/* --- Titre "Accès rapide" de la sidebar (accueil) -------------------- */
#secondary .column-title{
    align-items: center;        /* titre + trait centrés */
}
#secondary .column-title > p{
    color: #0E1330;
    font-family: 'Lato', sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
}
#secondary .column-title > span{
    background-color: #0E1330;
    width: 90px;
}

/* ==========================================================================
   PAGE MENTIONS LÉGALES (page-mentions-legales.php)
   Reprend la charte de la page Présentation : navy #0E1330, accent #C72C48,
   fond rosé #FCF1F1, police Lato.
   ========================================================================== */
.ml-page{
    background-color: #FCF1F1;
    padding: 60px 0 70px;
}
.ml-container{
    max-width: 980px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* --- Hero --- */
.ml-hero{
    position: relative;
    display: flex;
    align-items: center;
    min-height: 300px;
    background-color: #16163C;
    overflow: hidden;
}
.ml-hero::before{
    content: "";
    position: absolute;
    inset: 0;
    background: #0E133080;
    z-index: 1;
}
.ml-hero-inner{
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 60px 20px;
}
.ml-hero-label{
    display: block;
    color: #FF8FA3;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}
.ml-hero-inner h1{
    color: #FFF;
    font-family: 'Lato', sans-serif;
    font-size: 48px;
    font-weight: 800;
    line-height: normal;
    margin: 0 0 18px;
}
.ml-hero-inner p{
    color: #FFF;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
    max-width: 760px;
    opacity: .9;
}

/* --- Sections (cartes blanches, cf. .article-preview de la home) --- */
.ml-section{
    background-color: #FFFFFF;
    border-radius: 10px;
    padding: 36px 44px;
}
.ml-label{
    display: block;
    color: #C72C48;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 6px;
}
.ml-title{
    color: #0E1330;
    font-family: 'Lato', sans-serif;
    font-size: 30px;
    font-weight: 800;
    line-height: normal;
    margin: 0 0 18px;
}
.ml-section p{
    color: #0E1330;
    font-family: 'Lato', sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
    margin: 0 0 14px;
}
.ml-section p:last-child{
    margin-bottom: 0;
}
.ml-section strong{
    color: #0E1330;
    font-weight: 700;
}
.ml-section a{
    color: #C72C48;
    text-decoration: none;
    font-weight: 700;
}
.ml-section a:hover{
    text-decoration: underline;
}
.ml-list{
    list-style: none;
    margin: 0;
    padding: 0;
}
.ml-list li{
    color: #0E1330;
    font-family: 'Lato', sans-serif;
    font-size: 17px;
    line-height: 1.7;
    padding: 10px 16px;
    border-left: 3px solid #C72C48;
    margin-bottom: 8px;
    background-color: #FCF1F1;
    border-radius: 0 6px 6px 0;
}
.ml-list li:last-child{
    margin-bottom: 0;
}

/* --- Responsive --- */
@media (max-width: 768px){
    .ml-page{ padding: 40px 0 50px; }
    .ml-hero{ min-height: 220px; }
    .ml-hero-inner{ padding: 40px 20px; }
    .ml-hero-inner h1{ font-size: 32px; }
    .ml-title{ font-size: 24px; }
    .ml-section{ padding: 26px 24px; }
}

/* ==========================================================================
   PAGE 404 (404.php) — charte Condorcet
   ========================================================================== */
.e404{
    background-color: #FCF1F1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70vh;
    padding: 80px 20px;
}
.e404-inner{
    max-width: 620px;
    text-align: center;
}
.e404-code{
    display: block;
    color: #C72C48;
    font-family: 'Lato', sans-serif;
    font-size: 140px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -2px;
}
.e404-label{
    display: block;
    color: #C72C48;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 8px 0 18px;
}
.e404-title{
    color: #0E1330;
    font-family: 'Lato', sans-serif;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 16px;
}
.e404-text{
    color: #0E1330;
    font-family: 'Lato', sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
    margin: 0 auto 30px;
    max-width: 520px;
}
.e404-actions{
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
}
.e404-btn,
.e404-btn:link,
.e404-btn:visited{
    display: inline-block;
    padding: 14px 34px;
    background-color: #C72C48;
    color: #FFF;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 50px;
    transition: 0.2s;
}
.e404-btn:hover,
.e404-btn:focus{
    background-color: #a8002f;
    color: #FFF;
    text-decoration: none;
}
.e404-btn-ghost,
.e404-btn-ghost:link,
.e404-btn-ghost:visited{
    background-color: transparent;
    color: #0E1330;
    border: 2px solid #0E1330;
    padding: 12px 32px;
}
.e404-btn-ghost:hover,
.e404-btn-ghost:focus{
    background-color: #0E1330;
    color: #FFF;
}

@media (max-width: 768px){
    .e404{ min-height: 60vh; padding: 60px 20px; }
    .e404-code{ font-size: 96px; }
    .e404-title{ font-size: 28px; }
}

/* =====================================================================
 * PAGES INTÉRIEURES « LE LYCÉE » (Accès/Contact, Organigramme, Règlement)
 * Composants réutilisables lyc-* — mêmes tokens que la page Présentation.
 * =====================================================================
 */

.lyc-page{ background-color: #FCF1F1; }

/* --- En-tête de page (bandeau navy) --- */
.lyc-header{ background-color: #0E1330; padding: 66px 0; }
.lyc-header-inner{ max-width: 1180px; margin: 0 auto; padding: 0 40px; }
.lyc-eyebrow{
    display: block;
    color: #E4637A;
    font-family: 'Lato', sans-serif;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .02em;
    margin-bottom: 10px;
}
.lyc-header h1{
    color: #FFF;
    font-family: 'Lato', sans-serif;
    font-size: 48px;
    font-weight: 800;
    line-height: 1.05;
    margin: 0;
}

/* --- Conteneurs --- */
.lyc-container{ max-width: 1180px; margin: 0 auto; padding: 0 40px; }
.lyc-section{ padding: 64px 0; }
.lyc-card{ background-color: #FFF; border-radius: 10px 30px; padding: 38px 40px; }

/* --- Contact : coordonnées + carte --- */
.lyc-contact-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: stretch; }
.lyc-contact-list{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 24px; }
.lyc-contact-list li{ display: flex; gap: 16px; align-items: flex-start; }
.lyc-contact-ico{
    flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%;
    background-color: #FBE3E8; color: #C72C48;
    display: flex; align-items: center; justify-content: center;
}
.lyc-contact-ico svg{ width: 22px; height: 22px; display: block; }
.lyc-contact-list .lbl{
    display: block;
    color: #C72C48;
    font-family: 'Lato', sans-serif;
    font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
    margin-bottom: 3px;
}
.lyc-contact-list .val{ color: #0E1330; font-family: 'Lato', sans-serif; font-size: 18px; font-weight: 700; line-height: 1.45; }
.lyc-contact-list a{ color: #0E1330; text-decoration: none; }
.lyc-contact-list a:hover{ color: #C72C48; }
.lyc-map{ width: 100%; height: 100%; min-height: 380px; border: 0; border-radius: 10px 30px; display: block; }

/* --- Organigramme : image encadrée --- */
.lyc-org-wrap{ background-color: #FFF; border-radius: 10px 30px; padding: 24px; }
.lyc-org-wrap img{ width: 100%; height: auto; display: block; border-radius: 6px; }
.lyc-note{ color: #6B6B7B; font-family: 'Lato', sans-serif; font-size: 15px; line-height: 1.5; margin: 18px 0 0; text-align: center; }

/* --- Intro + axes (règlement) --- */
.lyc-lead{ color: #0E1330; font-family: 'Lato', sans-serif; font-size: 22px; font-weight: 800; line-height: 1.4; margin: 0 0 30px; max-width: 860px; }
.lyc-axes{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.lyc-axe{ background-color: #FFF; border-radius: 0 24px; padding: 28px 24px; }
.lyc-axe .num{
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 50%;
    background-color: #C72C48; color: #FFF;
    font-family: 'Lato', sans-serif; font-size: 18px; font-weight: 800;
    margin-bottom: 16px;
}
.lyc-axe p{ color: #16163C; font-family: 'Lato', sans-serif; font-size: 16px; font-weight: 700; line-height: 1.4; margin: 0; }

/* --- Documents / téléchargements --- */
.lyc-docs{ display: flex; flex-direction: column; gap: 14px; max-width: 720px; }
.lyc-doc{
    display: flex; align-items: center; gap: 18px;
    background-color: #FFF; border-radius: 10px 20px; padding: 20px 26px;
    text-decoration: none; transition: transform .15s ease, box-shadow .15s ease;
}
.lyc-doc:hover{ transform: translateY(-2px); box-shadow: 0 8px 24px rgba(14,19,48,.10); }
.lyc-doc .doc-ico{ flex: 0 0 46px; width: 46px; height: 46px; border-radius: 12px; background-color: #FBE3E8; color: #C72C48; display: flex; align-items: center; justify-content: center; }
.lyc-doc .doc-ico svg{ width: 24px; height: 24px; }
.lyc-doc .doc-txt{ flex: 1; }
.lyc-doc .doc-title{ display: block; color: #0E1330; font-family: 'Lato', sans-serif; font-size: 18px; font-weight: 800; line-height: 1.2; }
.lyc-doc .doc-meta{ color: #7A7A88; font-family: 'Lato', sans-serif; font-size: 14px; }
.lyc-doc .doc-arrow{ color: #C72C48; flex: 0 0 auto; }
.lyc-annexes{ list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; max-width: 720px; }
.lyc-annexes li{ background-color: #FFF4F6; color: #16163C; border-radius: 96px; padding: 8px 18px; font-family: 'Lato', sans-serif; font-size: 14px; font-weight: 700; }
.lyc-notice{ background-color: #FFF4F6; border-left: 4px solid #C72C48; border-radius: 6px; padding: 18px 22px; color: #16163C; font-family: 'Lato', sans-serif; font-size: 16px; line-height: 1.5; max-width: 720px; }

/* --- Responsive --- */
@media (max-width: 980px){
    .lyc-axes{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px){
    .lyc-header{ padding: 44px 0; }
    .lyc-header h1{ font-size: 30px; }
    .lyc-header-inner, .lyc-container{ padding: 0 20px; }
    .lyc-section{ padding: 44px 0; }
    .lyc-card{ padding: 28px 22px; }
    .lyc-contact-grid{ grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 520px){
    .lyc-axes{ grid-template-columns: 1fr; }
}

/* --- Groupes de contenu (titres de section internes) --- */
.lyc-group{ margin-bottom: 56px; }
.lyc-group:last-child{ margin-bottom: 0; }
.lyc-group-eyebrow{ display: block; color: #C72C48; font-family: 'Lato', sans-serif; font-size: 15px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; margin-bottom: 8px; }
.lyc-group-title{ color: #0E1330; font-family: 'Lato', sans-serif; font-size: 34px; font-weight: 800; line-height: 1.1; margin: 0 0 12px; }
.lyc-group-intro{ color: #0E1330; font-family: 'Lato', sans-serif; font-size: 18px; font-weight: 400; line-height: 1.55; margin: 0 0 28px; max-width: 840px; }

/* --- Grille de programmes / diplômes --- */
.lyc-prog-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 22px; }
.lyc-prog-card{ background-color: #FFF; border-radius: 0 30px; padding: 28px 26px; display: flex; flex-direction: column; gap: 12px; }
.lyc-tag{ align-self: flex-start; background-color: #F7D5DE; color: #16163C; border-radius: 96px; padding: 5px 16px; font-family: 'Lato', sans-serif; font-size: 13px; font-weight: 700; }
.lyc-prog-card h3{ color: #0E1330; font-family: 'Lato', sans-serif; font-size: 20px; font-weight: 800; line-height: 1.25; margin: 0; }
.lyc-prog-card p{ color: #4A4A5A; font-family: 'Lato', sans-serif; font-size: 15px; font-weight: 400; line-height: 1.5; margin: 0; }
.lyc-prog-card ul{ margin: 0; padding-left: 18px; color: #4A4A5A; font-family: 'Lato', sans-serif; font-size: 15px; line-height: 1.6; }

/* --- Cartes dispositifs (icône + texte) --- */
.lyc-feature-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 22px; }
.lyc-feature{ background-color: #FFF; border-radius: 10px 30px; padding: 30px 28px; }
.lyc-feature .fico{ width: 48px; height: 48px; border-radius: 14px; background-color: #FBE3E8; color: #C72C48; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.lyc-feature .fico svg{ width: 24px; height: 24px; }
.lyc-feature h3{ color: #0E1330; font-family: 'Lato', sans-serif; font-size: 19px; font-weight: 800; line-height: 1.2; margin: 0 0 8px; }
.lyc-feature p{ color: #4A4A5A; font-family: 'Lato', sans-serif; font-size: 15px; font-weight: 400; line-height: 1.55; margin: 0; }
.lyc-feature p + p{ margin-top: 10px; }
.lyc-feature a{ color: #C72C48; font-weight: 700; text-decoration: none; }
.lyc-feature a:hover{ text-decoration: underline; }

/* --- Boutons / bandeaux d'appel à l'action --- */
.lyc-cta{ display: inline-flex; align-items: center; gap: 10px; background-color: #C72C48; color: #FFF; border-radius: 96px; padding: 14px 30px; font-family: 'Lato', sans-serif; font-size: 16px; font-weight: 800; text-decoration: none; transition: background-color .15s ease; }
.lyc-cta:hover{ background-color: #A81F38; color: #FFF; }
.lyc-cta svg{ width: 18px; height: 18px; }
.lyc-cta-band{ background-color: #FFF; border-radius: 10px 30px; padding: 36px 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.lyc-cta-band .txt h3{ color: #0E1330; font-family: 'Lato', sans-serif; font-size: 24px; font-weight: 800; line-height: 1.2; margin: 0 0 6px; }
.lyc-cta-band .txt p{ color: #4A4A5A; font-family: 'Lato', sans-serif; font-size: 16px; line-height: 1.5; margin: 0; max-width: 560px; }

@media (max-width: 768px){
    .lyc-group{ margin-bottom: 40px; }
    .lyc-group-title{ font-size: 26px; }
    .lyc-cta-band{ padding: 26px 24px; }
    .lyc-cta-band .txt h3{ font-size: 20px; }
}

/* --- Grille d'actualités (articles) --- */
.lyc-post-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.lyc-post-card{ background-color: #FFF; border-radius: 10px 30px; overflow: hidden; display: flex; flex-direction: column; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.lyc-post-card:hover{ transform: translateY(-3px); box-shadow: 0 10px 28px rgba(14,19,48,.10); }
.lyc-post-thumb{ aspect-ratio: 16 / 9; background-color: #EADFE0; overflow: hidden; }
.lyc-post-thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.lyc-post-body{ padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 8px; }
.lyc-post-date{ color: #C72C48; font-family: 'Lato', sans-serif; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.lyc-post-title{ color: #0E1330; font-family: 'Lato', sans-serif; font-size: 19px; font-weight: 800; line-height: 1.3; margin: 0; }
.lyc-post-excerpt{ color: #4A4A5A; font-family: 'Lato', sans-serif; font-size: 15px; font-weight: 400; line-height: 1.55; margin: 0; }