/* navbar */

/* barre blanche */
html #header .header-nav-bar-primary,
#header .header-nav-bar-primary{
    background:#fff !important;
    box-shadow:0 2px 16px rgba(0,0,0,.10);
}
/* reset hauteur header */
#header .header-body{
    min-height:0 !important;
    padding:0 !important;
    border-top:0 !important;
}
#header .header-nav-bar-primary .container{
    padding-top:0 !important;
    padding-bottom:0 !important;
    max-width:90vw;
    width:90vw;
}

/* logo dans la barre */
#header .header-nav-bar-primary .header-logo{
    margin:6px 8px 6px 0;
    flex:0 0 auto;
}
#header .header-nav-bar-primary .header-logo img{
    height:52px;
    width:auto;
    transition:height .3s ease, filter .3s ease;
}

/* bouton réservation + sélecteur de langue */
#header .cv-nav-extra{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:12px;
    margin-left:10px;
}
.cv-reserve-btn{
    border-radius:50px !important;
    padding:11px 24px !important;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
    background:#756e62 !important;
    color:#fff !important;
    border:2px solid #756e62 !important;
    box-shadow:0 6px 16px rgba(117, 110, 98,.25);
    transition:all .2s ease;
}
.cv-reserve-btn:hover,.cv-reserve-btn:focus{
    background:#5c564c !important;
    border-color:#5c564c !important;
    color:#fff !important;
    transform:translateY(-2px);
}
.cv-reserve-btn i{ margin-right:7px; }
/* numéro de téléphone dans la navbar */
.cv-phone{
    font-size:13.5px;
    font-weight:700;
    letter-spacing:0;
    color:#756e62 !important;
    text-decoration:none !important;
    white-space:nowrap;
    transition:color .2s ease;
}
.cv-phone i{ margin-right:6px; }
.cv-phone:hover{ color:#5c564c !important; }
/* tel blanc sur hero */
.cv-home:not(.cv-scrolled) .cv-phone{
    color:#fff !important;
    text-shadow:0 1px 6px rgba(0,0,0,.35);
}
.cv-lang{
    font-size:13px;
    font-weight:700;
    letter-spacing:.05em;
    color:#2e353e !important;
    text-decoration:none !important;
    padding:6px 4px;
    transition:color .2s ease;
}
.cv-lang:hover{ color:#756e62 !important; }

/* navbar transparente */
@media (min-width:1300px){
/* header fixe sur hero */
.cv-home #header{
    position:fixed;
    top:35px; left:0; right:0;
    width:100%;
    z-index:1030;
}
.cv-home #header .header-body{
    transition:background .35s ease, box-shadow .35s ease;
}

/* état "en haut de page" */
.cv-home:not(.cv-scrolled) #header .header-nav-bar-primary,
.cv-home:not(.cv-scrolled) #header .header-body{
    background:transparent !important;
    box-shadow:none !important;
}
/* voile sombre */
.cv-home:not(.cv-scrolled) #header .header-body{
    background:linear-gradient(to bottom, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 100%) !important;
}
.cv-home:not(.cv-scrolled) #header .header-nav-main nav > ul > li > a{
    color:#fff !important;
    text-shadow:0 1px 6px rgba(0,0,0,.35);
}
.cv-home:not(.cv-scrolled) #header .header-nav-main nav > ul > li > a::before{
    background:#fff;
}
.cv-home:not(.cv-scrolled) #header .header-nav-main nav > ul > li:hover > a,
.cv-home:not(.cv-scrolled) #header .header-nav-main nav > ul > li.active > a,
.cv-home:not(.cv-scrolled) #header .header-nav-main nav > ul > li.open > a{
    color:#fff !important;
}
.cv-home:not(.cv-scrolled) #header .header-nav-main nav > ul > li > a.dropdown-toggle::after{
    border-color:#fff transparent transparent transparent !important;
}
/* logo plus lumineux sur la photo */
.cv-home:not(.cv-scrolled) #header .header-logo img{
    filter:drop-shadow(0 2px 8px rgba(0,0,0,.45));
}
/* bouton resa ghost */
.cv-home:not(.cv-scrolled) .cv-reserve-btn{
    background:transparent !important;
    border-color:rgba(255,255,255,.9) !important;
    color:#fff !important;
    box-shadow:none;
}
.cv-home:not(.cv-scrolled) .cv-reserve-btn:hover{
    background:#fff !important;
    color:#756e62 !important;
    border-color:#fff !important;
}
/* état défilé */
.cv-home.cv-scrolled #header .header-logo img{ height:48px; }
}

/* menu sur une ligne, centré */
#header .header-nav-main nav > ul{
    display:flex;
    flex-wrap:nowrap;
    justify-content:center;
}
/* liens de 1er niveau */
#header .header-nav-main nav > ul > li > a{
    color:#2e353e !important;
    background:transparent !important;
    font-size:13px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0;
    padding:13px 4px !important;
    border-radius:0 !important;
    position:relative;
    white-space:nowrap;
    transition:color .2s ease;
}
/* soulignement rouge animé */
#header .header-nav-main nav > ul > li > a::before{
    content:"";
    position:absolute;
    left:9px; right:9px; bottom:8px;
    height:2px;
    background:#756e62;
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform .25s ease;
}
#header .header-nav-main nav > ul > li:hover > a::before,
#header .header-nav-main nav > ul > li.active > a::before,
#header .header-nav-main nav > ul > li.open > a::before{
    transform:scaleX(1);
}
#header .header-nav-main nav > ul > li:hover > a,
#header .header-nav-main nav > ul > li.active > a,
#header .header-nav-main nav > ul > li.open > a{
    color:#756e62 !important;
    background:transparent !important;
}
/* flèche des menus déroulants */
#header .header-nav-main nav > ul > li > a.dropdown-toggle::after{
    border-color:#2e353e transparent transparent transparent !important;
}
#header .header-nav-main nav > ul > li:hover > a.dropdown-toggle::after,
#header .header-nav-main nav > ul > li.open > a.dropdown-toggle::after,
#header .header-nav-main nav > ul > li.active > a.dropdown-toggle::after{
    border-color:#756e62 transparent transparent transparent !important;
}

/* menus déroulants modernes */
#header .header-nav-main .dropdown-menu{
    border:none !important;
    border-radius:12px !important;
    box-shadow:0 16px 40px rgba(0,0,0,.18) !important;
    padding:8px !important;
    margin-top:8px !important;
    min-width:250px;
}
/* pont hover dropdown */
#header .header-nav-main .dropdown-menu::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-12px;
    height:12px;
}
#header .header-nav-main .dropdown-menu > li > a{
    color:#444 !important;
    background:transparent !important;
    padding:10px 16px !important;
    border-radius:8px !important;
    font-size:14px;
    font-weight:500;
    white-space:normal;
    transition:all .18s ease;
}
#header .header-nav-main .dropdown-menu > li > a:hover,
#header .header-nav-main .dropdown-menu > li > a:focus{
    background:#f6efed !important;
    color:#756e62 !important;
    padding-left:20px !important;
}

/* bouton menu mobile */
#header .header-btn-collapse-nav{
    background:#756e62 !important;
    color:#fff !important;
    border:none !important;
    border-radius:50px !important;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.04em;
    padding:10px 22px !important;
    box-shadow:0 4px 12px rgba(0,0,0,.18);
}
#header .header-btn-collapse-nav:hover,
#header .header-btn-collapse-nav:focus{
    background:#5c564c !important;
    color:#fff !important;
}

/* mise sur une seule ligne */
@media (min-width:1300px){
    #header .header-nav-bar-primary .nav-flex{
        display:flex;
        align-items:center;
        flex-wrap:nowrap;
    }
    #header .header-nav-main{
        flex:1 1 auto;
        display:flex;
        justify-content:center;
    }
}
/* barre compacte + hamburger (<1300px) */
@media (max-width:1299px){
    #header .header-nav-bar-primary .nav-flex{
        display:block;
        position:relative;
        padding:10px 15px;
        min-height:62px;
    }
    #header .header-nav-bar-primary .header-logo{
        display:inline-block;
        vertical-align:middle;
        margin:0;
    }
    #header .header-nav-bar-primary .header-logo img{ height:44px; }
    /* bouton menu en haut à droite */
    #header .header-btn-collapse-nav{
        display:inline-block !important;
        position:absolute;
        right:15px;
        top:11px;
        margin:0;
    }
    /* tel mobile centré */
    #header .cv-nav-extra{
        display:block;
        position:absolute;
        left:50%;
        top:31px;
        transform:translate(-50%,-50%);
        margin:0;
    }
    #header .cv-nav-extra .cv-reserve-btn{ display:none; }
    #header .cv-phone{ font-size:14px; color:#756e62 !important; text-shadow:none !important; white-space:nowrap; }
    /* menu plein largeur mobile */
    #header .header-nav-main{
        clear:both;
        width:100%;
        background:#fff;
    }
    #header .header-nav-main nav > ul{ display:block; }
    #header .header-nav-main nav > ul > li{ display:block; }
    #header .header-nav-main nav > ul > li > a{ white-space:normal; padding:12px 4px !important; }
    #header .header-nav-main nav > ul > li > a::before{ display:none; }
    #header .header-nav-main.collapse:not(.in){ display:none !important; }
    #header .header-nav-main.collapse.in,
    #header .header-nav-main.collapsing{ display:block !important; height:auto; }
    #header .header-nav-main nav > ul > li{ float:none !important; }
}

/* topbar */
.cv-topbar{
    background:#5b8c3e;
    color:#fff;
    text-align:center;
    font-size:13px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    padding:9px 15px;
    line-height:1.2;
    position:relative;
    z-index:1031;
}
.cv-topbar i{ color:#ffe082; margin-right:7px; }
/* topbar fixe (accueil) */
@media (min-width:1300px){
    .cv-home .cv-topbar{
        position:fixed;
        top:0; left:0; right:0;
    }
}

/* footer */
/* footer élargi */
#footer > .container{
    width:90vw !important;
    max-width:90vw !important;
}
/* colonnes footer */
@media (min-width:992px){
    #footer .container > .row{
        display:flex;
        flex-wrap:wrap;
        align-items:center;
    }
}
/* bannière footer */
.footer-label-col{ text-align:center; }
.footer-label-col img{
    display:inline-block;
    max-height:110px;
    width:auto;
    max-width:100%;
}
/* mobile : tout le footer centré */
@media (max-width:991px){
    #footer .contact-details,
    #footer .newsletter,
    #footer .footer-label-col{ text-align:center; }
    #footer .footer-label-col{ margin-top:22px; }
    #footer .footer-label-col img{ display:block; margin-left:auto; margin-right:auto; max-height:90px; width:auto; max-width:90%; }
}

@media (max-width:1299px){
    /* navbar pleine largeur */
    #header .header-nav-bar-primary .container{ max-width:100%; width:100%; }
}

/* tel masqué tant qu'il n'y a pas la place */
@media (min-width:1300px) and (max-width:1599px){
    #header .cv-phone{ display:none; }
}
