/*************************/
/******* Home Page *******/
/*************************/
#homeHero{
    height:800px;
}
#homeHero.page-header{
    background: url('../../medias/frontend/webp/home-header.webp') center/cover no-repeat;
}
#homeHero h1{
    font-size:42px;
    line-height:48px;
    padding-right:25px;
}
#homeHero h1 span{
    display:block;
    margin-top:15px;
    font-size:32px;
    line-height:38px;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:992px){
}
@media only screen and (max-width:768px){
    #homeHero{
        height:550px;
    }
    #homeHero h1{
        padding-right:0px;
        font-size:28px;
        line-height:32px;
    }
    #homeHero h1 span{
        font-size:24px;
        line-height:28px;
    }
    #homeHero.page-header {
        padding-top: 200px;
        background: url('../../medias/frontend/webp/home-header-768.webp') center/cover no-repeat;
    }
}
@media only screen and (max-width:576px){
}
/* Section Retraites thématiques - Grille */
.home-events .events-item {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
}

.home-events .row {
    margin-left: -15px;
    margin-right: -15px;
}

.home-events .events-item .card {
    height: 100%;
}

@media only screen and (max-width:480px){
    #homeHero h1{
        padding-right:0px;
        font-size:26px;
        line-height:30px;
        margin-bottom:1em;
    }
    #homeHero h1 span{
        font-size:22px;
        line-height:24px;
    }
    #homeHero.page-header {
        background: url('../../medias/frontend/webp/home-header-480.webp') center/cover no-repeat;
    }
}
@media only screen and (max-width:370px){
    #homeHero.page-header {
        padding-top: 180px;
    }
    #homeHero .btn{
        padding-left:15px;
        padding-right:15px;
    }
}
@media only screen and (max-width:320px){
}

.home-title{
    padding:75px 0px;
}
.home-title h2{
    padding:0px 0px;
}
.home-title span{
    font-style:italic;
}

video {
    max-width: 100%;
    height: auto;
    display: block;
    margin:auto;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:992px){
}
@media only screen and (max-width:768px){
    .home-title{
        padding:55px 0px 0px 0px;
    }
    .home-title h2{
        padding:0px;
    }
    .home-title svg{
        width:100%;
    }
}
@media only screen and (max-width:576px){
    video{
        margin-top:25px;
    }
}
@media only screen and (max-width:480px){
}
@media only screen and (max-width:320px){
}

.home-grand-pin{
    padding:75px 0px;
}

.home-title-grand-pin{
    background-image:url('/public/assets/medias/frontend/webp/bg-top-1.webp');
    background-position:center top;
    background-repeat:no-repeat;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:992px){
}
@media only screen and (max-width:768px){
    .home-grand-pin{
        padding:55px 0px;
    }
}
@media only screen and (max-width:576px){
}
@media only screen and (max-width:480px){
}
@media only screen and (max-width:320px){
}

.home-intro{
    padding:75px 0px;
    background-image:url('/public/assets/medias/frontend/webp/bg-right-1.webp');
    background-size:15%;
    background-position:right center;
    background-repeat:no-repeat;
}
/* .home-intro .container .col-md-5{
    padding-right:125px;
} */
.home-intro .img-wrapper{
    position:relative;
}
.home-intro .btn{
    margin-top:35px;
}

.intro-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 250px;
    gap: 20px;
}
.intro-gallery .gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius);
}
.intro-gallery .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius);
}
.intro-gallery .gallery-item.tall {
    grid-row: span 2;
}
.intro-gallery .gallery-item.wide {
    grid-column: span 2;
}
.intro-gallery .gallery-item.mobile-wide {
    grid-column: span 2;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
    .home-intro{
        background-size:25%;
        background-position:right bottom 20%;
        background-repeat:no-repeat;
    }
    .home-intro .container .col-lg-5{
        /* padding-right:50px; */
    }
}
@media only screen and (max-width:992px){
    .home-intro .btn{
        margin-top:25px;
    }
}
@media only screen and (max-width:768px){
    .home-intro .container .col-lg-5{
    }
    .home-intro .btn{
        margin-top:15px;
    }
    .home-intro{
        padding-top:0px;
        background-size:45%;
        background-position:right bottom 20%;
        background-repeat:no-repeat;
    }
    .intro-gallery {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 100px;
        gap: 20px;
    }
    .intro-gallery .gallery-item.tall {
        grid-row: span 3;
        grid-column: span 2;
    }
    .intro-gallery .gallery-item.wide {
        /* grid-column: span 2; */
    }
}
@media only screen and (max-width:576px){
    .home-intro .container .col-lg-5{
        margin-top:25px;
    }
    .intro-gallery {
        grid-auto-rows: 150px;
        gap: 20px;
    }
    .intro-gallery .gallery-item.tall {
        grid-row: span 2;
        grid-column: span 1;
    }
}
@media only screen and (max-width:480px){
}
@media only screen and (max-width:420px){
}
@media only screen and (max-width:320px){
}

.home-sentiers {
    padding: 75px 0px 0px 0px;
}

.home-sentiers .container .col-md-6 {
    padding-bottom: 65px;
}

.home-sentiers .row {
    display: flex;
    align-items: stretch; /* Toutes les colonnes prennent la même hauteur */
}

.home-sentiers .col-sm-4 {
    display: flex;
    flex-direction: column;
    flex: 1; /* Assure un bon équilibrage des colonnes */
}

.home-sentiers .dark-bg {
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centre le texte verticalement */
    padding: 40px;
    background-color: var(--purple-secondary);
    color: white;
    height: calc(100% + 1); /* Ajuste la hauteur automatiquement */
}

.home-sentiers .dark-bg ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    flex-grow: 1; /* Permet au texte de s'adapter à l'espace disponible */
}

.home-sentiers .dark-bg ul li {
    font-weight: bold;
    font-size: 1.5vw; /* Taille dynamique en fonction de la largeur de l'écran */
    line-height: 1.4em;
    padding-left: 35px;
    position: relative;
    padding-bottom: 25px;
}
.home-sentiers .dark-bg ul li::before{
    background:none;
}
.home-sentiers .dark-bg ul li:last-child{
    padding-bottom: 0px;
}

.home-sentiers .dark-bg ul li svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5em; /* Adaptation automatique */
    height: 1.5em;
}

.home-sentiers .col-sm-4 {
    position: relative; /* Nécessaire pour que l'image en absolute prenne sa référence */
}

.home-sentiers .col-sm-4 img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Garde une image bien proportionnée */
}

.home-sentiers .absolute-img {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: calc(100% * 2); /* L'image fait 2x la hauteur de sa colonne */
    object-fit: cover; /* Assure que l'image garde son aspect sans déformation */
    border-top-left-radius: var(--radius);
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
    .home-sentiers .dark-bg ul li {
    }
}
@media only screen and (max-width:992px){
    .home-sentiers .dark-bg {
        padding: 35px;
    }
}
@media only screen and (max-width:768px){
    .home-sentiers .dark-bg {
        padding: 30px;
    }

}
@media only screen and (max-width:576px){
    .home-sentiers{
        padding-top:0px;
    }
    .home-sentiers .row {
        flex-direction: column;
    }

    .home-sentiers .col-sm-4 {
        width: 100%;
    }

    .home-sentiers .dark-bg {
        padding: 30px;
    }

    .home-sentiers .dark-bg ul li {
        font-size: 4vw; /* Texte encore plus grand sur mobiles */
    }

    .home-sentiers .absolute-img {
        position: relative;
        width: 100%;
        object-fit: cover; /* Assure que l'image garde son aspect sans déformation */
        border-top-left-radius: 0px;
    }
}
@media only screen and (max-width:480px){
}
@media only screen and (max-width:320px){
}


.home-intro-sentiers{
    background-image:url('/public/assets/medias/frontend/webp/bg-left-1.webp');
    background-position:left top 25%;
    background-repeat:no-repeat;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
    .home-intro-sentiers{
        background-size:25%;
        background-position:left top 30%;
        background-repeat:no-repeat;
    }
}
@media only screen and (max-width:992px){
}
@media only screen and (max-width:768px){
    .home-intro-sentiers{
        background-size:45%;
        background-position:left center;
        background-repeat:no-repeat;
    }
}
@media only screen and (max-width:576px){
}
@media only screen and (max-width:480px){
}
@media only screen and (max-width:320px){
}

.home-photos {
    padding:0px 0px 75px 0px;
}
.home-photos .gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 250px;
    gap: 20px;
}
.home-photos .gallery .gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius);
}
.home-photos .gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius);
    transition: transform 0.3s ease-in-out;
}
.home-photos .gallery .gallery-item:hover img {
    transform: scale(1.1); /* Zoom léger */
}
.home-photos .gallery .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(95, 44, 112, 0.5); /* Fond semi-transparent */
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    border-radius: var(--radius);
    padding:0px 25px;
}
.home-photos .gallery .gallery-item:hover .overlay {
    opacity: 1;
}
.home-photos .gallery .overlay p {
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    padding: 10px;
}
.home-photos .gallery .tall {
    grid-row: span 2;
}
.home-photos .gallery .wide {
    grid-column: span 2;
}
.home-photos .gallery .mobile-wide {
    grid-column: span 2;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:992px){
    .home-photos .gallery {
        grid-auto-rows: 175px;
    }
}
@media only screen and (max-width:768px){
    .home-photos .gallery {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 140px;
    }
    .home-photos .gallery .tall {
        grid-row: span 2;
    }
    .home-photos .gallery .wide {
        grid-column: span 1;
    }
}
@media only screen and (max-width:620px){

}
@media only screen and (max-width:576px){
}
@media only screen and (max-width:480px){
}
@media only screen and (max-width:320px){
}

.home-events{
    padding :75px 0px;
    background-color:var(--purple-primary);
}
.home-events h3{
    color:var(--white);
}
.home-events .nav-tabs{
    border-color:var(--white);
}
.home-events .nav-tabs .nav-item .nav-link{
    color:#A9A9A9;
    border:none;
}
.home-events .nav-tabs .nav-item .nav-link.active{
    color:var(--white)!important;
    background:transparent;
    border:none;
    font-weight:bold;
}
.home-events .events-list{
    color:var(--white);
}
.home-events .events-list .events-item{
    padding:24px 0px;
}
.home-events .events-list span{
    display:block;  
    color:#A9A9A9; 
}
.home-events .events-list strong{
    display:block;   
}
.home-events .events-list .btn-primary{
    border:1px solid var(--white);
    color:var(--white);
    background:transparent;
    width:100%;
    padding:8px 0px;
}
.home-events .no-events{
    display:none;
    font-size:24px;
    color:var(--white);
    margin-top:25px;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:992px){
    .home-events .events-list .events-item{
        text-align:center;
    }
    .home-events .events-list .order-sm-3,
    .home-events .events-list .order-sm-4{
        margin-top:15px;
    }
}
@media only screen and (max-width:768px){
    .home-events .nav-tabs .nav-item .nav-link{
        font-size:14px;
    }
}
@media only screen and (max-width:576px){
    .home-events .events-list .order-sm-1{
        margin-top:15px;
    }
    .home-events .events-list .order-sm-2{
        margin-top:15px;
    }
    .home-events .events-list .order-sm-3{
        margin-top:0px;
    }
    .home-events .events-list .order-sm-4{
        margin-top:15px;
    }
    .nav-tabs .nav-item {
        width: 100%; /* Fait prendre toute la largeur */
        text-align: center; /* Centre le texte */
    }
    .nav-tabs .nav-item .nav-link {
        width: 100%; /* Fait prendre toute la largeur */
        text-align: center; /* Centre le texte */
        padding:6px 0px;
    }
}
@media only screen and (max-width:480px){
}
@media only screen and (max-width:320px){
}

.home-lodgings{
    padding:75px 0px;
    background-image:url('/public/assets/medias/frontend/webp/bg-right-2.webp');
    background-position:right center;
    background-repeat:no-repeat;
}
.home-lodgings .lodgings-features .lodging-feature{
    background-color:var(--purple-primary);
    border-radius:var(--radius);
    color:var(--white);
    text-align:center;
    padding:24px 0px;
}
.home-lodgings .lodgings-features .lodging-feature .icon svg{
    fill:#fff;
    height:48px;
}
.home-lodgings .lodgings-features .lodging-feature .title{
    font-size:18px;
    line-height:18px;
    font-weight:bold;
    margin-top:6px;
}
.home-lodgings .lodgings-features .lodging-feature .subtitle{
    font-size:16px;
}
.home-lodgings .lodgings-features .col-md-4{
    padding-top:22px;
}
.home-lodgings>.container>.row>.col-sm-6:last-child{
    padding-left:50px;
    padding-right:75px;
}
.home-lodgings .btn-outline-primary{
    margin-top:0px;
    margin-bottom:15px;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
    .home-lodgings{
        background-size:25%;
    }
    .home-lodgings .lodgings-features .lodging-feature{
        padding:20px 0px;
    }
    .home-lodgings .lodgings-features .lodging-feature .icon svg{
        width:32px;
    }
    .home-lodgings .lodgings-features .lodging-feature .title{
        font-size:17px;
        line-height:17px;
        margin-top:0px;
    }
    .home-lodgings .lodgings-features .lodging-feature .subtitle{
        font-size:15px;
        line-height:15px;
    }
    .home-lodgings .lodgings-features .col-md-4{
        padding-top:25px;
    }
    .home-lodgings>.container>.row>.col-sm-6:last-child{
        padding-left:25px;
        padding-right:45px;
    }
}
@media only screen and (max-width:992px){
    .home-lodgings .lodgings-features .lodging-feature{
        padding:15px 0px;
    }
    .home-lodgings .lodgings-features .lodging-feature .icon svg{
        width:28px;
    }
    .home-lodgings .lodgings-features .lodging-feature .title{
        font-size:16px;
        line-height:16px;
        margin-top:0px;
    }
    .home-lodgings .lodgings-features .lodging-feature .subtitle{
        font-size:14px;
        line-height:14px;
    }
    .home-lodgings .lodgings-features .col-md-4{
        padding-top:20px;
    }
    .home-lodgings>.container>.row>.col-sm-6:last-child{
        padding-left:12px;
        padding-right:22px;
    }
}
@media only screen and (max-width:768px){
    .home-lodgings{
        background-size:45%;
    }
    .home-lodgings .lodgings-features .lodging-feature{
        padding:10px 0px;
    }
    .home-lodgings .lodgings-features .lodging-feature .icon svg{
        width:22px;
    }
    .home-lodgings .lodgings-features .lodging-feature .title{
        font-size:14px;
        line-height:14px;
        margin-top:0px;
    }
    .home-lodgings .lodgings-features .lodging-feature .subtitle{
        font-size:13px;
        line-height:13px;
    }
    .home-lodgings .lodgings-features .col-md-4{
        padding-top:15px;
    }
    .home-lodgings>.container>.row>.col-sm-6:last-child{
        padding-left:12px;
        padding-right:12px;
    }
    
    #lodgingsCarrousel img {
        max-height: 500px;
        aspect-ratio: 1 / 1;
        width: 100%;
        height: auto;
        object-fit: cover;
    }
}
@media only screen and (max-width:576px){
    .home-lodgings h3{
        margin-top:50px;
    }
}
@media only screen and (max-width:480px){
}
@media only screen and (max-width:320px){
}

.home-services{
    padding:125px 0px;
    background-color:var(--beige);
    background-image:url('/public/assets/medias/frontend/webp/bg-top-1.webp');
    background-position:center top;
    background-repeat:no-repeat;
    color:var(--purple-primary);
}
.home-services .row{
    margin-bottom:1.5em;
}
.home-services h3{
    color:var(--purple-primary);
    text-align:center;
    margin-bottom:25px;
}
.home-services .subtitle{
    font-size:16px;
    line-height:38px;
    text-align:center;
    margin-bottom:50px;
}
.home-services .service-box{
    background-color:var(--white);
    border-radius:24px;
    padding:50px;
    padding-bottom:100px;
    text-align:center;
    position:relative;
}
.home-services .service-box .title{
    font-size:24px;
    line-height:32px;
    font-weight:bold;
    margin-bottom:12px;
}
.home-services .service-box span{
    font-size:16px;
    line-height:24px;
    font-style:italic;
    display:block;
    margin-bottom:12px;
}
.home-services .service-box p{
    font-size:16px;
    line-height:24px;
}
.home-services .service-box .btn{
    position:absolute;
    bottom:50px;
    left:0;
    right:0;
    margin-left:auto;
    margin-right:auto;
    margin:auto;
    max-width:200px;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:1024px){
    .home-services .service-box{
        padding:35px;
        padding-bottom:80px;
    }
    .home-services .service-box .title{
        font-size:24px;
        line-height:32px;
        font-weight:bold;
        margin-bottom:12px;
    }
    .home-services .service-box p{
        font-size:16px;
        line-height:28px;
    }
    .home-services .service-box .btn{
        bottom:35px;
        max-width:200px;
    }
}
@media only screen and (max-width:992px){
    .home-services .service-box{
        padding:25px;
        padding-bottom:80px;
    }
    .home-services .service-box .title{
        font-size:24px;
        line-height:32px;
        font-weight:bold;
        margin-bottom:12px;
    }
    .home-services .service-box p{
        font-size:16px;
        line-height:28px;
    }
    .home-services .service-box .btn{
        bottom:25px;
        max-width:200px;
    }
}
@media only screen and (max-width:768px){
    .home-services{
        background-size:100%;
    }
    .home-services .service-box.h-100{
        height:auto!important;
    }
    .home-services .service-box{
        margin-bottom:25px!important;
    }
    .home-services>.row>.col-md-4:last-child .service-box{
        margin-bottom:0px;
    }
    .home-services .subtitle{
        font-size:15px;
        line-height:28px;
    }
}
@media only screen and (max-width:576px){
    .home-services{
        background-size:100%;
    }
}
@media only screen and (max-width:480px){
}
@media only screen and (max-width:320px){
}