*, html {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    outline: none;
}

html{
    --page-scroll-progress: 0;
}

body {
    margin: 0;
    color: #000;
    font-size: 18px;
}

footer{
    margin: 0;
}

.nowrap{
    text-wrap: nowrap;
}

.grecaptcha-badge{
    display: none !important;
}

.separator{
    width: 60%;
    height: 1px;
    background-color: var(--wp--preset--color--base-2);
}

.txt-accent{
    color: var(--wp--preset--color--accent);
}

.txt-big{
    font-size: 1.2em;
    text-transform: uppercase;
}

.minus {
    font-size: 0.5em;
}

.no-results{
    padding: 100px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.pagination-container a.prev,
.pagination-container a.next{
    display: none;
}

a,
.btn{
    transition: all .2s ease-out;
    text-decoration: none;
}

.booking-img{
    position: absolute;
    right: 6%;
}

.menu-mobile a.wp-block-navigation-item__content{
    font-family: 'Galliento';
    font-size: 8vw;
    text-decoration: none;
}

.btn, .btn a{
    padding: 20px 60px 18px;
    border: 1px solid var(--wp--preset--color--accent);
    background: var(--wp--preset--color--accent);
    color: var(--wp--preset--color--base);
    font-size: 15px;
    text-decoration: none;
    line-height: 1em;
    text-transform: uppercase;
}
.btn{
    border-radius: 4px;
}
.btn:hover, .btn a:hover{
    background: var(--wp--preset--color--base);
    border: 1px solid var(--wp--preset--color--accent);
    color: var(--wp--preset--color--accent);
    border-radius: 0;
}

.btn.btn-black {
    border: 1px solid var(--wp--preset--color--base);
    background: var(--wp--preset--color--contrast);
    color: var(--wp--preset--color--base);
}

.btn.btn-black:hover{
    background: var(--wp--preset--color--base);
    color: var(--wp--preset--color--contrast);
}

.btn.btn-accent-2 {
    background: var(--wp--preset--color--accent-2);
    color: #000;
    font-size: 16px;
    text-decoration: none;
}
.btn.btn-accent-2:hover{
    background: #000;
    color: var(--wp--preset--color--accent-2);
}

.flex-left-right-container{
    display: flex;
    flex-direction: column;
}

.flex-left,
.flex-right{
    flex:1;
}

.flex-centered{
    justify-content: center;
}

.swiper-container{
    overflow: hidden;
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box;
}

.swiper-slide{
    flex-shrink: 0;
    position: relative;
}

.big-line-title{
    display: flex;
    flex-direction: column;
    font-size: .9em;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    padding-top: 50px;
}

.big-line-title .txt-accent{
    margin: 0 20px;
}

.big-line-title .big-title{
    display: flex;
    flex-direction: row;
    font-family: "Galliento";
    font-style: italic;
    gap: 20px;
    margin-top: 20px;
    font-size: 30vw;
}

.big-line-title .big-title .big-title-left{
    line-height: 1em;
}

.big-line-title .big-title .big-title-right {
    display: flex;
    flex-direction: column;
    font-size: 0.5em;
    line-height: 1.1em;
}

.big-line-title .big-title .big-title-right .big-title-right-bottom{
    font-size: .7em;
    line-height: .7em;
}

.split-img {
    position: relative;
    width: 100%;
    background-size: cover;
    background-position: center center;
    border-top-left-radius: 30%;
    border-bottom-right-radius: 30%;
}

.split-img .hidden-zone {
    position: absolute;
    background: var(--wp--preset--color--base);
}

.split-img .hidden-zone.hidden-zone-1 {
    bottom: 0;
    left: 0;
    right: 66%;
    height: 10vw;
}

.split-img .hidden-zone.hidden-zone-2 {
    bottom: 0;
    top: 0;
    left: 30%;
    right: 66%;
}

.split-img .hidden-zone.hidden-zone-3 {
    top: 0;
    right: 0;
    left: 30%;
    height: 10vw;
}

/*****************
MENU
 */

header{
    padding: 30px 0;
    margin-bottom: 0;
    font-size: 14px;
}

header .wp-block-site-logo img{
    max-width: 150px;
}

.menu-mobile{
    display: flex;
    font-size: 1.6em;
    text-transform: uppercase;
}

.menu-logo{
    flex:10;
    margin-left: -24px !important;
}

.menu-right{
    display: none;
}

.menu-right .wp-block-navigation__submenu-container,
.menu-left .wp-block-navigation__submenu-container{
    border: 0!important;
}

.wp-block-navigation ul.wp-block-navigation__submenu-container{
    padding-top: 10px;
}

.menu-right li a,
.menu-left li a{
    text-transform: uppercase;
}

.menu-right .wp-block-navigation-submenu li,
.menu-left .wp-block-navigation-submenu li{
    padding: 10px 0;
}

.menu-mobile li.wp-block-navigation-link{
    padding: 10px 0;
}

    /********************
    HOME
     */
.home-top {
    display: flex;
    flex-direction: column;
    justify-content: center;
    justify-items: center;
    text-align: center;
}

.home-top h1 {
    font-size: 22vw;
    line-height: 1em;
    opacity: 0;
    animation: fadeIn 1s ease-out 0.3s forwards;
}

.home-top h1 .minus {
    font-size: 0.68em;
    line-height: 1em;
}

.home-top-thumbnail {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Met l'espace entre les éléments */
    align-items: center; /* Centrage horizontal des enfants */
    width: 100%;
    height: 30vh;
    background-size: cover;
    background-position: center center;
    z-index: 0;
    clip-path: inset(20vh 20vw);
    opacity: 0;
    animation:  fadeIn 0.2s ease-out 0.3s forwards, /* Démarre après 0.2s */
                zoomIn 0.4s ease-out 1s forwards;
}

@keyframes fadeIn {
    to {
        opacity: 1; /* Apparait progressivement */
        transform: translateY(0); /* Revient à sa position initiale */
    }
}

@keyframes zoomIn {
    to {
        clip-path: inset(0 calc((1 - 2*var(--page-scroll-progress, 0))* 5vw));
    }
}

.home-top-thumbnail::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1); /* Couleur noire avec 20% d'opacité */
    z-index: -1; /* Place le pseudo-élément derrière le contenu du conteneur */
    pointer-events: none; /* Empêche toute interaction avec le voile */
}

.home-top-thumbnail .slogan {
    font-size: 9vw;
    white-space: nowrap;
    font-family: "Galliento";
    z-index: 1000;
    color: var(--wp--preset--color--base);
    opacity: 0;
    animation:  fadeIn 0.3s ease-out 1.2s forwards;
}

.home-top-thumbnail a{
    z-index: 1000;
    font-size: 13vw;
    font-family: "Galliento";
    color: var(--wp--preset--color--base);
    text-decoration: none;
    line-height: .7em;
    opacity: 0;
    animation:  fadeIn 0.4s ease-out 2s forwards;
}

.home-top-thumbnail a .small-text{
    font-size: 0.5em;
    line-height: 1em;
    display: block;
}

form {
    display: flex;
    justify-content: center;
    gap: 20px;
    font-size: 17px;
    margin-top: 20px;
}
form label {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
form label span {
    text-transform: uppercase;
}
form label input,
form label select,
form label textarea{
    border: 1px solid var(--wp--preset--color--black);
    color: var(--wp--preset--color--contrast-2);
    padding: 10px 10px;
    width: 100%;
}

input, select, textarea{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff;
    border: 1px solid var(--wp--preset--color--black);
    color: var(--wp--preset--color--contrast-2);
    border-radius: 0;
    text-shadow: none;
    -webkit-appearance: none;
}


form input::placeholder,
form textarea::placeholder {
    font-style: italic;
}

form .wpcf7-not-valid-tip{
    color: var(--wp--preset--color--accent);
    font-size: .8em;
}

.wpcf7 form .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output{
    margin: 10px 0;
    padding: 10px;
    border: 1px solid var(--wp--preset--color--accent);
}


form input.submit{
    border: 1px solid var(--wp--preset--color--black);
    background: var(--wp--preset--color--contrast-2);
    color: var(--wp--preset--color--base);
    padding-left: 10px;
    padding-right: 10px;
    font-size: 30px;
    font-family: "Galliento";
}

.home-title-paragraph{
    margin: 0;
    padding: 70px 0;
}

.home-title-paragraph .flex-centered{
    padding: 0;
}

.home-title-paragraph .flex-left-right-container{
    gap: 10px;
}

.home-properties, .home-events{
    margin: 0;
    background: var(--wp--preset--color--accent-2);
}

.home-properties-swiper{
    display: flex;
    flex-direction: column;
}

.home-properties-swiper h2{
    font-size: 17vw;
}


.home-properties .home-title-paragraph {
    background: var(--wp--preset--color--accent-2);
}

.properties-swiper-left,
.properties-swiper-right
{
    display: flex;
    flex: 1;
    width: 100%;
}

.swiper-properties-text .swiper-slide{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10%;
    gap: 40px;
    text-align: center;
}

.properties-swiper-right{
    height: 90vh;
    position: relative;
}

.swiper-properties-img{
    width: 100%;
    height: 60vw;
}

.properties-swiper-right .swiper-slide{
    background-size: cover;
    background-position: center center;
}

.properties-swiper-right .carousel-controls{
    position: absolute;
    bottom: 50px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 20px;
    line-height: 1.4em;
    z-index: 1;
}

.properties-swiper-right .carousel-controls a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 100px;
    border-radius: 200px;
    font-size: 1em;
    font-family: 'Canelo';
    text-decoration: none;
    border: 1px solid;
    color: var(--wp--preset--color--base-2);
}
.properties-swiper-right .carousel-controls a.disabled{
    color: var(--wp--preset--color--contrast);
}

.home-places-container{
    padding: 0 0 60px 0;
    margin: 0;
}

.home-places{
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--50);
    margin-top: 50px;
}

.place-slide{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 0 0 6%;
}

.place-slide h2{
    font-size: 2.5em;
    margin-bottom: 15px;
    width: 100%;
    text-align: left;
    text-transform: capitalize;
}

.place-slide a.place-slide-img-container{
    position: relative;
    width: 100%;
}

a .next-container{
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #000;
    width: 80px;
    height: 80px;
    border-radius: 100%;
    line-height: 1em;
    font-size: 0.7em;
    font-weight: 400;
    font-family: 'Futuro';
    margin-top: 7vw;
}

.place-slide .place-slide-img{
    width: 100%;
    height: 80vw;
    background-size: cover;
    background-position: center center;
}


.home-events {
    padding-top: 60px;
    padding-bottom: 60px;
}

.home-events h2{
    font-size: 13.5vw;
    text-align: center;
}

.main-event{
    display: flex;
    flex-direction: column;
    padding: 60px 0;
}

.main-event .main-event-img{
    width: 100%;
    background-size: cover;
    background-position: center center;
}

.main-event .main-event-img.main-event-img-1{
    height: 74vw;
}

.main-event .main-event-content{
    padding: 30px 5% 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.main-event .main-event-content h3{
    text-transform: uppercase;
}

.main-event .main-event-img.main-event-img-2,
.main-event .main-event-img.main-event-img-3{
    display: none;
}

.all-events{
    padding: 50px 0;
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.all-events .all-events-title{
    flex: 1;
    display: grid;
    justify-content: center;
    align-items: center;
    gap: 60px;
    text-align: center;
}

.all-events .all-events-title h2{
    font-size: 3em;
}

.event-list{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 0 40px;
}

.event-container{
    flex: 1;
}

.event-container .event-img{
    display: block;
    width: 100%;
    height: 200px;
    background-size: cover;
    background-position: center center;
}

.event-container .event-content{
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    background: var(--wp--preset--color--base);
}
.event-container .event-cat{
    text-transform: uppercase;
    font-size: .7em;
    font-weight: 700;
}

.event-container .event-content h3{
    min-height: 70px;
}

.event-content .event-date{
    font-size: .7em;
}


.property-container{
}

.property-container h1{
    font-size: 16vw;
    text-align: center;
}

.single-property h2{
    font-size: 2rem;
}

.footer-links{
    background: var(--wp--preset--color--contrast);
    color: var(--wp--preset--color--base);
}

.footer-links a,
.footer-links h2{
    color: var(--wp--preset--color--base);
}

.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){
    width: calc(100% - var(--wp--style--unstable-gallery-gap, 16px)/2);
}

@media (min-width: 768px) {
    .pagination-container a.prev,
    .pagination-container a.next{
        display: block;
    }

    .menu-logo{
        margin-left: auto !important;
    }

    .menu-mobile a.wp-block-navigation-item__content {
        font-size: 4vw;
    }

    .flex-left-right-container{
        flex-direction: row;
    }

    .home-top h1 {
        font-size: 9vw;
        line-height: .75;
        white-space: nowrap;
        margin-bottom: .25em;
    }

    .home-top h1 .minus{
        font-size: 1em;
    }

    .home-top-thumbnail{
        height: 60vh;
    }

    .home-top-thumbnail .slogan{
        font-size: 6vw;
    }

    .home-top-thumbnail a{
        font-size: 9vw;
    }


    .home-title-paragraph{
        padding: 90px 0;
    }

    .single-property h2,
    .home-properties-swiper h2{
        font-size: var(--wp--preset--font-size--x-large);
    }

    .swiper-properties-text .swiper-slide {
        padding: 10% 20%;
        gap: 40px;
    }
    .swiper-properties-img{
        height: 90vh;
    }

    .place-slide .place-slide-img {
        height: 25vw;
    }

    .home-events h2 {
        font-size: 7.6vw;
    }

    .main-event {
        flex-direction: row;
    }

    .main-event .main-event-content{
        flex: 6;
    }

    .main-event .main-event-content h3 {
        width: 60%;
    }

    .main-event .main-event-img.main-event-img-1{
        flex:4;
        height: 34vw;
    }
    .main-event .main-event-img.main-event-img-2{
        display: block;
        width: 65%;
        height: 12vw;
        margin-top: 40px;
    }

    .main-event .main-event-img.main-event-img-3{
        display: block;
        flex: 2;
        height: 20vw;
    }

    .all-events,
    .event-list{
        flex-direction: row;
    }

    .all-events .all-events-title{
        flex: 1;
    }
    .event-list{
        flex:2;
    }

    .property-container h1 {
        font-size: 10vw;
    }

    .footer-contact{
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 20%;
        padding: 70px;
    }
    .footer-contact-btn{ padding-top: 0; }
}

/* Au niveau le plus haut du code */
@media screen and (min-width: 1024px) {

    header{
        margin-bottom: 50px;
    }

    .menu-mobile, .menu-right {
        display: flex;
        min-width: 30%;
    }

    header .booking-img{
        display: none;
    }

    .menu-right .wp-block-navigation {
        gap: 2.5rem;
    }

    .menu-right {
        justify-content: right;
    }

    .home-properties-swiper{
        flex-direction: row;
    }
    .properties-swiper-left,
    .properties-swiper-right
    {
        width: 50%;
    }

    .swiper-properties-text .swiper-slide {
        gap: 10%;
    }

    .home-title-paragraph .flex-centered{
        padding: 0 10%;
    }

    .home-about{ flex-direction: row; }
}

@media screen and (min-width: 1240px) {

    .home-events{
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .all-events{
        max-width: 90%;
    }

    .all-events .all-events-title h2{
        font-size: 5em;
    }

    .all-events .all-events-title{
        flex: 2;
    }
    .event-list{
        flex:3;
    }

    .menu-left .wp-block-navigation,
    .menu-right .wp-block-navigation{
        gap: 4rem;
    }
}
