:root {
    --header-height: 74px;
}

/*
--------------------------------------
Header infos
--------------------------------------
*/

header ul {
    margin          : 0;
    list-style-type : none;
}

.main-header__topbar-container {
    display         : flex;
    justify-content : center;
    align-items     : center;
    gap             : 10px;
    height          : 41px;
    transition      : all 0.4s ease-in-out;
    background      : var(--e-global-color-primary);
    will-change     : opacity, transform;
}

.main-header__topbar-container--is-hidden,
.main-header__topbar-container--is-hidden > * {
    opacity    : 0;
    transform  : translateY(-100%);
    transition : all 0.1s ease-in-out;
}

.main-header__topbar-container .header-action__link-text {
    font-family    : var(--e-global-typography-secondary-font-family);
    font-size      : calc(13px + (16 - 13) * ((100vw - 320px) / (1920 - 320)));
    font-weight    : 400;
    color          : #FFFFFF;
    text-align     : center;
    letter-spacing : 0.32px;
}

/*
--------------------------------------
header
--------------------------------------
*/

body:not(.elementor-editor-active) .main-header__inner {
    position         : fixed;
    z-index          : 50;
    width            : 100%;
    background-color : transparent;
}

body:not(.home) .main-header__inner {
    background-color : var(--color-bg-dark) !important;
}

.main-header__container--is-shown {
    opacity    : 1;
    background : rgba(31, 31, 31, 0.92) !important;
    box-shadow : 0 2px 12px rgba(0, 0, 0, 0.25);
}

/*
--------------------------------------
Main header container
--------------------------------------
*/

.main-header__container {
    width            : 100%;
    background-color : #FFFFFF;
}

.main-header__container,
.main-header__container .main-logo__img {
    transition : opacity 0.35s ease-in-out;
}

.main-header__container .main-logo__img {
    max-width  : 200px;
    height     : 64px;
    padding    : 4px 0;
    transition : all 0.35s ease-in-out;
    object-fit : contain;
    filter     : brightness(0) invert(1);
}

.main-header__container--is-fixed .main-logo__img {
    height : 56px;
}

.main-header__container--is-shown {
    opacity    : 1;
    background : rgba(255, 255, 255, .85);
}

.main-header__header-container {
    position    : relative;
    z-index     : 1;
    align-items : center;
    height      : 100%;
    transition  : all 0.4s ease-in-out;
    will-change : transform, box-shadow;
}

.main-header__inner--is-fixed.main-header__inner--is-shown .main-header__header-container {
    background : rgba(31, 31, 31, 90%);
}

.main-header__header-container-inner {
    display               : grid;
    max-width             : 1280px;
    width                 : 100%;
    margin                : auto;
    padding               : 0 1.5rem;
    grid-template-columns : auto 1fr auto;
    align-items           : center;
    gap                   : 1rem;
}

.main-header__header-container--is-scrolled {
    position   : sticky;
    top        : 0;
    right      : 0;
    left       : 0;
    transform  : translateY(-41px);
    z-index    : 20;
    transition : all 0.4s ease-in-out;
    background : var(--e-global-color-secondary);
    box-shadow : 0 4px 10px rgba(0, 0, 0, 0.2);
}

/*Logo*/

.main-header__container .main-logo {
    grid-column : 1;
}

.main-header__container .main-logo__link {
    color       : var(--e-global-color-primary);
    display     : flex;
    align-items : center;
    gap         : 20px;
    padding-top : 10px;
}

.has-secondary-menu-link .main-header__container .main-logo__link {
    color : #FFFFFF;
}

.main-header__container--is-fixed .main-logo__link {
    color : var(--e-global-color-primary);
}

.main-header__container .main-logo__text {
    font-family    : var(--e-global-typography-primary-font-family);
    font-size      : 22px;
    font-weight    : 400;
    line-height    : 1;
    color          : #FFFFFF;
    letter-spacing : -1.12px;
    display        : flex;
    gap            : 10px;
    transition     : all 0.35s ease-in-out;
}

.main-header__container .main-logo__text {
    padding-top : 2em;
}

.main-logo__link,
.main-logo__text {
    color : #FFFFFF;
}

.main-header__container--is-fixed .main-logo__text {
    color          : var(--e-global-color-primary);
    display        : flex;
    flex-direction : row;
    gap            : 7px;
    padding-top    : 0;
}

.main-header__container--is-shown .main-logo__text {
    flex-direction : row;
}

.main-header__container--is-fixed .main-logo__link {
    align-items : center;
}

/*Menu*/

.menu-wrapper {
    display         : flex;
    justify-content : center;
    align-items     : center;
    grid-column     : 2;
}

.menu-item--no-link > .menu-link {
    cursor : default;
}

/*Actions*/

.main-header__inner .header-actions {
    display         : flex;
    justify-content : flex-end;
    align-items     : center;
    gap             : 12px;
    grid-column     : 3;
    grid-row        : 1;
    flex-shrink     : 0;
}

.header-action__link {
    font-family    : 'Montserrat', sans-serif;
    font-size      : 12px;
    font-weight    : 700;
    letter-spacing : 0.05em;
    display        : flex;
    align-items    : center;
    gap            : 6px;
    border-radius  : 50px;
    padding        : 8px 14px;
    transition     : all var(--transition-normal);
    text-decoration: none;
    white-space    : nowrap;
}

/* Téléphone — style ghost blanc */
.main-header__inner .header-action__link {
    color      : rgba(255, 255, 255, 0.85);
    border     : none;
    background : transparent;
}

.main-header__inner .header-action__link:hover {
    color      : #ffffff;
    border-color: rgba(255, 255, 255, 0.5);
    background : rgba(255, 255, 255, 0.08);
}

/* Bouton CTA "RÉSERVER" — orange plein */

.main-header__inner .header-action__link.header-action__link-booking {
    color      : #fff;
    background : var(--color-accent);
    border-color: var(--color-accent);
    text-transform: uppercase;
    padding: 4px 15px;
}

.main-header__inner .header-action__link.header-action__link-booking:hover {
    background : var(--color-cta-hover);
    border-color: var(--color-cta-hover);
    box-shadow : 0 6px 20px rgba(243, 110, 32, 0.45);
    transform  : translateY(-2px);
}
