@import "common_style.css";
.feature1{
    background-color:#00303e;
    padding-top:20%;
    padding-bottom:20%;
}
@media only screen and (min-width:1200px){
    .feature1{
        padding-top:10%;
        padding-bottom:10%;
    }
}
.title{
    font-size:40px;
    line-height:60px;
}
.feature1__image{
    padding-bottom:33px;
    text-align:center;
}
.feature1__back{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    padding-left:45px;
    padding-bottom:33px;
}
@media only screen and (max-width:576px){
    .feature1__back{
        padding-left:20px;
    }
}
.feature1__back img{
    margin-right:10px;
}
@media only screen and (max-width:576px){
    .feature1__back img{
        width:5%;
    }
}
.feature1__back span{
    color:#fff;
    font:normal normal 800 15px/20px Montserrat-ExtraBold;
    letter-spacing:-0.6px;
}
@media only screen and (min-width:576px){
    .feature1__back span{
        font:normal normal 800 30px/40px Montserrat-ExtraBold;
    }
}
.feature1__image{
    padding-bottom:33px;
}
.feature1__image img{
    width:62%;
}
@media only screen and (min-width:1200px){
    .feature1__image img{
        width:100%;
    }
}
.feature1__content{
    width:80%;
    margin:auto;
}
.feature1-content__address{
    padding-top:10px;
    font:normal normal normal 15px/20px Montserrat-Regular;
    letter-spacing:-0.6px;
    color:#fff;
}
.feature1-content__address img{
    padding-right:2%;
}
@media only screen and (min-width:576px){
    .feature1-content__address{
        font:normal normal normal 30px/40px Montserrat-Regular;
    }
}
.feature1-content__desc{
    padding-top:46px;
}
.feature1-content__desc div{
    font:normal normal normal 14px/17px Montserrat-Regular;
    color:#fff;
}
@media only screen and (min-width:576px){
    .feature1-content__desc div{
        font:normal normal normal 20px/34px Montserrat-Regular;
        width:80%;
    }
}
.feature1-content__desc div span{
    font:normal normal 800 15px/17px Montserrat-Bold;
}
@media only screen and (min-width:576px){
    .feature1-content__desc div span{
        font:normal normal 800 30px/34px Montserrat-Bold;
    }
}
.feature1-content__desc div p{
    margin:1% 0;
}
.feature1-content__desc div p img{
    width:5%;
}
.feature1-content__group-image{
    padding-top:50px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    width:100%;
}
.feature1-content__group-image img{
    width:25%;
    margin-right:10px;
}
@media only screen and (min-width:576px){
    .feature1-content__group-image img{
        margin-right:30px;
    }
}
.feature1-content__info{
    padding-top:20px;
    border:4px solid #fff;
    border-radius:20px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    width:85%;
    margin:63px auto 0;
}
.feature1-content__info--large{
    display:none;
}
@media only screen and (min-width:576px){
    .feature1-content__info{
        padding-top:39px;
        margin:126px auto 0;
    }
}
.feature1-content__info div{
    width:100%;
    text-align:center;
    color:#fff;
}
.feature1-content__info div span{
    font:normal normal 800 15px/20px Montserrat-Bold;
    letter-spacing:-0.6px;
    padding:1%;
}
@media only screen and (min-width:576px){
    .feature1-content__info div span{
        font:normal normal 800 30px/34px Montserrat-Bold;
        padding:1%;
    }
}
.feature1-content__info div p{
    font:normal normal normal 15px/20px Montserrat-Regular;
    letter-spacing:-0.6px;
}
@media only screen and (min-width:576px){
    .feature1-content__info div p{
        font:normal normal normal 30px/40px Montserrat-Regular;
    }
}
.feature1-content__info div:not(:first-child){
    padding-top:26px;
}
@media only screen and (min-width:576px){
    .feature1-content__info div:not(:first-child){
        padding-top:52px;
    }
}
.feature1-content__info div:last-child{
    padding-bottom:18px;
}
@media only screen and (min-width:576px){
    .feature1-content__info div:last-child{
        padding-bottom:37px;
    }
}
.feature1-content__info .border-shape{
    padding:0;
    width:80%;
}
@media screen and (min-width:760px){
    .title{
        font-size:70px;
    }
}
@media only screen and (min-width:1200px){
    .feature1__main{
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
    }
    .feature1__main .feature1__image{
        width:47.5%;
    }
    .feature1__main .feature1__content{
        width:47.5%;
    }
    .feature1__main .feature1-content__info--smal{
        display:none;
    }
    .feature1__main .feature1-content__info--large{
        display:block;
        width:75%;
        margin-top:-100px;
        background-color:#00303e;
        position:relative;
        z-index:9;
    }
    .title{
        font-size:80px;
    }
}
.programme__footer{
    background-color:#c61e37;
}
.programme__footer .footer-top{
    margin-bottom:40px;
}
.programme__footer .footer-top__form{
    background-color:#c61e37;
}

/* --- Espacement des blocs de description --- */
.feature1-content__desc > div + div{
    margin-top:35px;
}

/* --- Description repliable --- */
#description-programme.description--repliee{
    display:-webkit-box;
    -webkit-line-clamp:6;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.description__toggle{
    display:none;
    background:none;
    border:none;
    padding:0;
    margin-top:10px;
    color:#fff;
    text-decoration:underline;
    cursor:pointer;
    font:normal normal 800 14px/18px Montserrat-Bold;
}
@media only screen and (min-width:576px){
    .description__toggle{
        font:normal normal 800 20px/26px Montserrat-Bold;
    }
}

/* --- Adresse cliquable (Google Maps) --- */
.feature1-content__address-lien{
    text-decoration:none;
    color:inherit;
}
.feature1-content__address-lien:hover span{
    text-decoration:underline;
}

/* --- Liens de la fiche contact (tel / mail) --- */
.feature1-content__info div p a{
    color:#fff;
    text-decoration:none;
}
.feature1-content__info div p a:hover{
    text-decoration:underline;
}

/* --- Galerie de perspectives --- */
.feature1__image .galerie{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
    margin-top:15px;
}
.feature1__image .galerie img{
    width:90px;
    height:65px;
    object-fit:cover;
    border-radius:8px;
    border:3px solid transparent;
    opacity:0.6;
    cursor:pointer;
}
.feature1__image .galerie img:hover,
.feature1__image .galerie img.galerie__vignette--active{
    opacity:1;
    border-color:#c61e37;
}

/* --- Liens maquette 3D / vidéo --- */
.programme-liens{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    margin-top:40px;
}
.programme-liens .border-shape{
    border:4px solid #fff;
    cursor:pointer;
}

/* --- Programme introuvable (404) --- */
.introuvable{
    width:80%;
    margin:auto;
    text-align:center;
    padding:40px 0 60px;
}
.introuvable .title{
    color:#fff;
}
.introuvable p{
    font:normal normal normal 16px/24px Montserrat-Regular;
    color:#fff;
    margin:35px 0 45px;
}
@media only screen and (min-width:576px){
    .introuvable p{
        font:normal normal normal 24px/36px Montserrat-Regular;
    }
}
.introuvable .border-shape{
    border:4px solid #fff;
    cursor:pointer;
}

/* --- Lots disponibles --- */
.lots{
    width:90%;
    margin:auto;
    padding:8% 0;
}
.lots__title{
    color:#00303e;
}
.lots__vide{
    font:normal normal normal 16px/24px Montserrat-Regular;
    color:#00303e;
    margin-top:30px;
}
@media only screen and (min-width:576px){
    .lots__vide{
        font:normal normal normal 22px/32px Montserrat-Regular;
    }
}
.lots__vide a{
    color:#c61e37;
    font-family:Montserrat-Bold;
}
.lots-groupe{
    border:5px solid #00303e;
    border-radius:20px;
    overflow:hidden;
    margin-top:40px;
    background-color:#fff;
}
.lots-groupe__entete{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:8px 20px;
    background-color:#00303e;
    padding:16px 24px;
}
.lots-groupe__type{
    font:normal normal 800 26px/32px Montserrat-ExtraBold;
    color:#fff;
}
.lots-groupe__type small{
    font:normal normal normal 15px/20px Montserrat-Regular;
    opacity:0.75;
    margin-left:12px;
}
.lots-groupe__prix{
    font:normal normal 800 18px/24px Montserrat-Bold;
    color:#fff;
    background-color:#c61e37;
    padding:6px 16px;
    border-radius:6px;
    white-space:nowrap;
}
@media only screen and (max-width:576px){
    .lots__title{
        font-size:32px;
        line-height:44px;
    }
    .lots-groupe__type{
        font:normal normal 800 22px/28px Montserrat-ExtraBold;
    }
    .lots-groupe__prix{
        font:normal normal 800 15px/20px Montserrat-Bold;
        padding:5px 12px;
    }
}
.lots__tableau{
    overflow-x:auto;
}
.lots .lots-groupe th{
    background-color:rgba(0,48,62,0.08);
    color:#00303e;
}
.lots table{
    width:100%;
    min-width:600px;
    border-collapse:collapse;
    background-color:#fff;
}
.lots th{
    font:normal normal 800 15px/20px Montserrat-Bold;
    color:#fff;
    background-color:#00303e;
    text-align:left;
    padding:16px 18px;
    white-space:nowrap;
}
.lots td{
    font:normal normal normal 15px/22px Montserrat-Regular;
    color:#00303e;
    padding:14px 18px;
    border-bottom:1px solid rgba(0,48,62,0.15);
}
.lots tbody tr:last-child td{
    border-bottom:none;
}
.lots tbody tr:hover{
    background-color:rgba(198,30,55,0.06);
}
@media only screen and (min-width:1400px){
    .lots th{
        font:normal normal 800 18px/24px Montserrat-Bold;
    }
    .lots td{
        font:normal normal normal 18px/26px Montserrat-Regular;
    }
}