/* ==========================
   TYPOGRAPHY & CONTENT
========================== */
.the_content {
    font-size: 16px;
    line-height: 25px;
}

.mega_details .the_title {
    line-height: 100%;
}

@media (min-width: 1200px) {
    h1,
    #main-content-1 .title,
    .title,
    .section_social_media .wrap .content .title,
    .gallery_section .title,
    .section_meeting_table .content_container .title {
        font-size: 38px;
    }
}


.title {
    text-transform: none; /* Correction math-auto non standard */
    letter-spacing: 2px;
    font-weight: 800;
}

@media (min-width: 1200px) {
    h1,
    .title,
    .section_social_media .wrap .content .title {
        text-transform: none;
    }
}

#main-content-1 .title {
    letter-spacing: 2px;
}

.filterable_section .items_list .item_wrap .item .content_wrap .title {
    letter-spacing: 2px;
}

.de_block_post_preview.cards_list .children_previews .item_wrap .content_wrap .content .title,
.de_block_post_preview.carousel_2 .children_previews .item_wrap .content_wrap .content .title {
    letter-spacing: 2px;
}

b,
strong {
    font-weight: 700;
}

.the_content strong,
.the_content b {
    color: var(--main);
}

body a {
    transition: color 0.3s ease;
}

/* ==========================
   HEADER
========================== */

/* --- Context (page, auxiliary bars) --- */
#social_sidebar {
    z-index: 999;
}

body.page_on_front #header {
    top: 0;
    bottom: auto;
}

#mobile_bar .book {
    max-width: none;
}

/* --- #header shell (default / fixed state) --- */
#header {
    background: transparent;
    box-shadow: none;
    transition: all 0.3s ease;
}

#header.fixed {
    background: var(--header);
    border-bottom: none;
}

/* --- Header height (responsive) + burger --- */
#header.fixed .open_menu .icon {
    border-color: var(--main);
}

#header.fixed .open_menu .icon:before {
    background: var(--main);
}

@media (min-width: 1200px) {
    #header {
        height: 120px;
    }
}

@media (max-width: 1199px) {
    #header {
        height: 80px;
    }

    #header:not(.fixed) .open_menu .icon {
        border-color: var(--header);
    }

    #header:not(.fixed) .open_menu .icon:before {
        background: var(--header);
    }
}

/* --- Inner flex container --- */
.header_container {
    display: flex;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    height: 100%;
    width: 100%;
}

#header .header_container {
    gap: 2em;
}

@media (min-width: 1200px) {
    .header_container {
        padding: 0 10px;
        width: 80%;
    }
}

/* --- Logo --- */
#header #logo {
    display: flex;
    margin: 0;
    position: absolute;
}

#header #logo .original {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
}

#header #logo .scrolled {
    width: auto;
    height: 100%;
    max-width: none;
    object-fit: contain;
}

#header:not(.fixed) #logo .scrolled {
    display: none;
}

#header.fixed #logo .original {
    display: none;
}

#header.fixed #logo .scrolled {
    display: flex;
}

#header.fixed #logo img.original {
    display: none;
}

@media (min-width: 1200px) {
    #header #logo .original {
        width: 100%;
        height: 100%;
        max-height: none;
    }

    #header #logo {
        left: 1em;
        top: 1em;
    }

    #header #logo .scrolled {
        max-height: 100px;
    }

    #header:not(.fixed) #logo {
        width: 200px;
        height: 200px;
    }

    #header.fixed #logo {
        width: 10%;
        height: auto;
        position: relative;
        top: auto;
        left: 1em;
    }
}

@media (max-width: 1199px) {
    #header #logo {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: auto;
    }

    #header:not(.fixed) #logo {
        width: 120px;
        height: auto;
        top: 1.5em;
    }

    #header:not(.fixed) #logo .original {
        max-height: none;
    }
}

/* --- Right column (desktop) --- */
#header.fixed .header_right_content {
    position: relative;
}

@media (min-width: 1200px) {
    #header.fixed .header_right_content {
        width: 10%;
    }
}

.header_right_content {
    display: flex;
    flex: 0 0 auto;
    gap: 1em;
    align-items: center;
    justify-content: flex-end;
    padding-right: 1em;
    position: absolute;
    right: 0;
}

/* --- Right column mobile (phone, languages) --- */
.header_right_mobile {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1;
    margin-right: 25px;
    gap: 1em;
}

.header_right_mobile .phone,
.header_right_mobile .languages_mobile {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    font-weight: 600;
}

.header_right_mobile .phone .icon:before {
    content: "\f879";
    font-family: "Font Awesome 6 Pro", sans-serif;
    display: inline-block;
    transform: rotate(90deg);
}

#header:not(.fixed) .header_right_mobile .phone {
    border-right: 1px solid #fff;
    padding-right: 1em;
}

#header.fixed .header_right_mobile .phone {
    border-right: 1px solid var(--main);
    padding-right: 1em;
}

#header:not(.fixed) .header_right_mobile .languages_mobile {
    color: #fff;
}

#header.fixed .header_right_mobile .languages_mobile {
    color: var(--main);
}

/* --- Menu block (layout) --- */
.header_menus {
    display: flex;
    margin: 0 auto;
    gap: 2em;
    width: 100%;
}

.header_menus .menu_header {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.header_menus #highlight_menu {
    justify-content: flex-end;
}

.header_menus #highlight_menu_2 {
    justify-content: flex-start;
}

#header #highlight_menu {
    margin: 0;
}

#header #highlight_menu ul,
#header #highlight_menu_2 ul {
    display: flex;
    align-items: center;
    gap: 2em;
}

#header #highlight_menu_2 ul > li {
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

#highlight_menu_2 .more_li {
    display: none;
}

#header:not(.fixed) a {
    font-weight: 600;
    color: #fff;
    letter-spacing: 1.5px;
}

#header a {
    color: var(--highlighted);
    font-weight: 600;
    letter-spacing: 1.5px;
}

/* --- Nav links (colors, underline) --- */
#header a {
    position: relative;
    line-height: normal;
}

#header a:hover {
    text-decoration: none;
}

#header .menu_label a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 0;
    height: 1px;
    background-color: currentColor;
    transition: width 0.25s ease;
}

#header .menu_label a:hover::after {
    width: 100%;
}

#header .sub-menu .menu_label a::after {
    display: none;
}

#header li.current_page_item a {
    text-transform: none;
    color: var(--main);
}

/* --- Book CTA --- */
#header .main_book a {
    width: auto;
    height: 3rem;
    text-align: center;
    padding: 1rem;
    min-width: 125px;
}

#header:not(.fixed) .main_book a {
    background-color: transparent;
    border: 1px solid #fff;
    color: #fff;
}

#header:not(.fixed) .main_book a:hover {
    background-color: var(--hover);
    border-color: var(--hover);
}

/* --- Submenus (highlight & highlight_2) --- */
#header #highlight_menu ul > li ul.sub-menu > li.current-menu-item > span > a {
    color: var(--header);
}

#header #highlight_menu_2 ul > li ul.sub-menu {
    display: none;
    position: absolute;
    width: 200px;
    font-size: inherit;
    z-index: 10;
    bottom: 80px;
    top: auto;
}

#header #highlight_menu ul > li.menu-item-has-children.open > ul.sub-menu,
#header #highlight_menu ul > li.menu-item-has-children:hover > ul.sub-menu,
#header #highlight_menu_2 ul > li.menu-item-has-children.open > ul.sub-menu,
#header #highlight_menu_2 ul > li.menu-item-has-children:hover > ul.sub-menu {
    display: block;
    bottom: 0;
    top: 80px;
}

#header #highlight_menu_2 ul > li ul.sub-menu > li:first-child {
    padding-top: 0.5em;
}

#header #highlight_menu_2 ul > li ul.sub-menu > li {
    background: var(--main);
    margin-top: -1px;
    height: auto;
    display: block;
}

#header #highlight_menu_2 ul > li ul.sub-menu > li > span > a {
    color: var(--main-color-associated);
    display: block;
    text-align: left;
    line-height: 130%;
    border: none;
    margin: 0;
    text-transform: none;
    padding: 0.5em 2em;
}

#header #highlight_menu_2 ul > li ul.sub-menu > li > span > a:hover {
    color: var(--hover);
}

#header #highlight_menu ul > li.menu-item-has-children:hover:after,
#header #highlight_menu_2 ul > li.menu-item-has-children:hover:after {
    content: "";
    display: block;
    position: absolute;
    top: 60px;
    height: 0;
    border-width: 10px;
    border-style: solid;
    border-color: transparent transparent var(--main) transparent;
}

/* --- Language switcher --- */
#header .languages {
    margin-right: 0;
}

#header .languages > div > nav ul > li a.lang_sel_sel,
#header .languages > div > nav ul ul li a.lang_sel_other,
#header .languages > div > ul ul li a.lang_sel_other {
    text-transform: uppercase;
}

body.home #header:not(.fixed) .languages > div > nav ul ul,
body.home #header:not(.fixed) .languages > div > ul ul {
    bottom: 0;
    top: 30px;
    padding: 0;
}

body.home #header:not(.fixed) .other_languages::after {
    top: auto;
    transform: none;
}

#header .languages > div > nav ul > li a.lang_sel_sel.lang_sel_sel:after,
#header .languages > div > nav ul > li a.lang_sel_sel.multi_lang:after,
#header .languages > div > ul > li a.lang_sel_sel.lang_sel_sel:after,
#header .languages > div > ul > li a.lang_sel_sel.multi_lang:after {
    padding-left: 10px;
}

/* ==========================
   POPUP
========================== */
#popup {
    background: transparent;
}

#popup .content .content_wrap {
    background: hsl(5.22deg 49% 91% / 81%);
    padding: 55px;
}

#popup .content .subtitle {
    color: var(--main);
}

#popup .content .content_wrap .title {
    margin-bottom: 0px;
}

#popup .content .thumb_wrap .thumb {
    background-color: transparent;
}

#popup .content .content_wrap .subtitle, 
#popup .content .content_wrap .title, 
#popup .content .content_wrap .the_content {
    font-weight: 400; /* Valeur générique corrigée au lieu de 00 */
}

#popup_overlay {
    background: rgba(0, 0, 0, .4);
}

#popup_overlay .popup_overlay_wrap {
    overflow-y: hidden;
    overflow-x: hidden;
}

.de_block_popup #popup .content .content_wrap {
    padding: 60px;
    border-radius: 20px;
    background: white;
}

.de_block_popup #popup .content .content_wrap .the_content {
    margin: 0px;
    padding: 0px;
}

.de_block_popup #popup .content .content_wrap .btn {
    margin-top: 0;
    margin-bottom: 0;
}

@media (min-width: 992px) {
    #popup {
        margin: 550px auto;
    }
}

@media (max-width: 991px) {
    .de_block_popup #popup .content .content_wrap {
        padding: 30px;
    }
    .de_block_popup #popup .content .content_wrap .title {
        padding: 0px;
        font-size: 18px;
    }
.additional-footer_hotel-logo {
    height: 130px;
}
}

.additional-footer_group-logo {
    margin-top: 40px !important;
}

.additional-footer_hotel-item {
    color:white;
}

@media (max-width: 767px) {
    #popup {
        height: auto;
        width: 100%;
        margin-top: 470px;
    }
}

/* ==========================
   SLIDESHOW
========================== */
.slideshow_container .center-logo {
    position: absolute;
    bottom: 40%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}

.slideshow_container .center-logo img {
    max-width: 300px;
    height: auto;
    object-fit: contain;
}

.slideshow_container .caption {
    max-width: 560px;
}

.slideshow_container .caption .title {
    color: white;
    font-weight: 300;
}

.slideshow_container .caption .title:after {
    display: none;
}

.slideshow_container .slideshow::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
    z-index: 1;
}

body.has_slideshow #slideshow-1,
body.home_header .slideshow_container {
    height: 100vh;
    margin-bottom: 0;
}

@media (max-width: 1200px) {
    .slideshow_container .center-logo img {
        max-width: 180px; /* Aligné sur la valeur la plus basse fournie */
    }
    .slideshow_container .caption {
        max-width: fit-content;
        text-align: center;
    }
    body.home_header .slideshow_container .caption {
         padding: 0px 40px;
         margin-left: 0;
         transform: none;
         left: 0;
         right: 0;
    }
}

@media (max-width: 1199px) {
    #header:not(.fixed) #logo .original {
        max-height: none;
        display: none;
    }
}

@media (max-width: 991px) {
    .slideshow_container .caption .title {
        font-size: 18px;   
    }
}

/* ==========================
   MAIN CONTENT
========================== */
.page_on_front #main-content-1 #main_content .title:after {
    display: none;
}

.page-template-template-single-room #main-content-1 #main_content .title::after {
    display: none;
}

#main-content-1 #main_content .title:after {
    content: url(./img/villa_logo_original.svg);
    width: auto;
    display: none;
    margin: auto;
    padding-top: 3px;
}

.page-template-template-meeting #main-content-1 #main_content {
    display: flex;
    flex-direction: column;
}

.page-template-template-meeting #main-content-1 .title {
    order: 1;
}

.page-template-template-meeting #main-content-1 .btns_wrap {
    order: 2;
}

.page-template-template-meeting #main-content-1 .content_main_wrap {
    order: 3;
}

/* ==========================
   GENERAL & UTILITIES BLOCKS
========================== */
.container {
    padding-top: 1.5em;
}

.arrow_container .pager {
    display: flex;
}

a.plus_corner:after,
.plus_corner > .thumb:after {
    content: none;
}

@media (max-width: 1199px) {
    .de_block_additional_content_bg .picture_container .content_container {
        padding: 2em;
    }
}

.aside_content.aside_content .content_main_wrap {
    background: transparent;
}

.btns_wrap .price {
    font-size: 1rem;
    font-family: var(--first-font);
    line-height: 52px;
    color: var(--titles);
}

.btns_wrap {
    align-items: center;
}

.filters ul li + li {
    border-left-style: solid;
}

.gm-style-iw-chr {
    position: absolute;
    right: 0;
}

/* ==========================
   POST PREVIEW
========================== */
.title > span.aria-title {
    text-transform: uppercase;
}

.de_block_post_preview.big_bg .children_previews .item_wrap .content {
    background-color: transparent;
    color: #fff;
}

.de_block_post_preview.big_bg .children_previews .item_wrap .content .title,
.de_block_post_preview.big_bg .children_previews .item_wrap .content .price_wrap .label,
.de_block_post_preview.big_bg .children_previews .item_wrap .content .price_wrap .price {
    color: #fff;
}

.de_block_post_preview.big_bg .children_previews .item_wrap .thumb::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

@media (min-width: 1400px) {
    .de_block_post_preview.cards_list .children_previews .inner_wrapper {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
}

.de_block_post_preview.cards_list .children_previews .item_wrap {
    min-width: 0;
    max-width: 100%;
}

.de_block_post_preview.cards_list .children_previews .item_wrap:not(.full):nth-child(4n+3) .item .content_wrap .content .title,
.de_block_post_preview.cards_list .children_previews .item_wrap:not(.full):nth-child(4n+3) .item .content_wrap .content .price,
.de_block_post_preview.cards_list .children_previews .item_wrap:not(.full):nth-child(4n+4) .item .content_wrap .content .title,
.de_block_post_preview.cards_list .children_previews .item_wrap:not(.full):nth-child(4n+4) .item .content_wrap .content .price {
    color: var(--main);
}

.de_block_post_preview.cards_list .children_previews .item_wrap .content_wrap .content,
.de_block_post_preview.cards_list .children_previews .item_wrap .content_wrap .content .title {
    text-align: left;
}

.de_block_post_preview.cards_list .children_previews .item_wrap .content_wrap .content {
    justify-content: space-between;
    height: 100%;
}

.de_block_post_preview.cards_list .children_previews .item_wrap .item .content_wrap .content .title {
    flex: 0;
}

.offer_wrap .offer,
.children_previews .item_wrap .content_wrap,
.filterable_section .items_list .item_wrap .item .content_wrap {
    background-color: transparent;
    color: var(--main);
}

.de_block_post_preview.big_bg .children_previews .item_wrap .content .btns_wrap .btnCta a {
    background: var(--header);
    color: var(--main);
}

.offer_wrap .content .title,
.offer_wrap .content .price_wrap .price,
.de_block_post_preview.carousel .children_previews .item_wrap .content_wrap .content .title,
.de_block_post_preview.cards_list .children_previews .item_wrap .content_wrap .content .title,
.filterable_section .items_list .item_wrap .item .content_wrap .title,
.de_block_post_preview.carousel_2 .children_previews .item_wrap .content_wrap .content .title .offer_wrap .content .price_wrap .price,
.de_block_post_preview.carousel .children_previews .item_wrap .content_wrap .content .price_wrap .price,
.de_block_post_preview.cards_list .children_previews .item_wrap .content_wrap .content .price_wrap .price,
.de_block_post_preview.carousel_2 .children_previews .item_wrap .content_wrap .content .price_wrap .price {
    color: var(--main);
}

.de_block_post_preview.cards_list .children_previews .item_wrap .item .content_wrap .content .btns_wrap .btnCta a,
.de_block_post_preview.carousel .children_previews .item_wrap .content_wrap .content .btns_wrap .btnCta a,
.filterable_section .items_list .item_wrap .item .content_wrap .btns_wrap .btnCta a {
    background: var(--header);
    color: var(--main);
}

.de_block_post_preview.big_bg .children_previews .item_wrap .content .btns_wrap .btnCta a:hover,
.de_block_post_preview.cards_list .children_previews .item_wrap .item .content_wrap .content .btns_wrap .btnCta a:hover,
.de_block_post_preview.carousel .children_previews .item_wrap .content_wrap .content .btns_wrap .btnCta a:hover,
.filterable_section .items_list .item_wrap .item .content_wrap .btns_wrap .btnCta a:hover {
    background: var(--hover);
    color: var(--header);
}

.de_block_post_preview.cards_list .children_previews .item_wrap .item .content_wrap {
    color: var(--main);
    background: transparent;
}

.de_block_post_preview.carousel .children_previews .item_wrap .content_wrap,
.de_block_post_preview.cards_list .children_previews .item_wrap .content_wrap,
.de_block_post_preview.carousel_2 .children_previews .item_wrap .content_wrap {
    padding: 20px 0px;
}

.children_previews .item_wrap .content_wrap .content .description {
    margin-top: 0;
    margin-bottom: 0;
}

.filterable_section .items_list .item_wrap .item .content_wrap {
    padding: 20px 0px 0px 0px;
    flex-grow: 1;
    background-color: transparent;
}

.de_block_post_preview.cards_list .children_previews .item_wrap:not(.full):nth-child(4n+4) .item .content_wrap,
.de_block_post_preview.cards_list .children_previews .item_wrap:not(.full):nth-child(4n+3) .item .content_wrap {
    color: var(--main);
    background-color: transparent;
}

.de_block_post_preview.cards_list .children_previews .item_wrap.last_of_two .item .content_wrap .content .info a,
.de_block_post_preview.cards_list .children_previews .item_wrap:not(.full):nth-child(4n+4) .item .content_wrap .content .info a,
.de_block_post_preview.cards_list .children_previews .item_wrap:not(.full):nth-child(4n+3) .item .content_wrap .content .info a,
.de_block_post_preview.carousel .children_previews .item_wrap .content_wrap .content .info a,
.de_block_post_preview.cards_list .children_previews .item_wrap .content_wrap .content .info a,
.de_block_post_preview.carousel_2 .children_previews .item_wrap .content_wrap .content .info a {
    background-color: var(--main);
    color: var(--header);
}

.de_block_post_preview.big_bg .children_previews .item_wrap .thumb::after {
    background: rgba(0, 0, 0, 0.2);
}

@media (max-width: 991px) {
    .de_block_post_preview.carousel .children_previews .item_wrap .content_wrap,
    .de_block_post_preview.cards_list .children_previews .item_wrap .content_wrap,
    .de_block_post_preview.carousel_2 .children_previews .item_wrap .content_wrap {
        padding: 20px;
    }
}

/* ==========================
   SOCIAL MEDIA
========================== */
.section_social_media .wrap .content .title {
    color: var(--main);
}

.social_pics_main_wrap .social_item_wrap.double {
    width: auto;
    margin: 0 auto;
    background-color: hsl(5.22deg 49% 91% / 56%);
    padding: 1em;
}

/* ==========================
   MAP
========================== */
.map_section.de_block #map_content .content .contacts a {
    color: var(--header);
}

.map_section.de_block #map_content .content .contacts a:hover {
    color: white;
}

#itinerary_container #itinerary .field.from input {
    background-color: var(--header);
    color: var(--main);
}

#itinerary_container #itinerary .itinerary_title a.active {
    color: white;
}

#itinerary_container #itinerary .itinerary_title a:hover {
    color: var(--header);
}

.map_section.de_block.both #map_content .content .contacts {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.map_section.de_block.both #map_content .content .contacts img {
    margin-bottom: 1em;
}

.map_section.de_block.both #map_content .content .contacts .element a {
    transition: color 0.3s ease;
}

.map_section.de_block.both #map_content .content .contacts .element a:hover {
    color: var(--hover);
    text-decoration: underline;
}

.infowindow_content .title {
    letter-spacing: normal;
}

/* ==========================
   ICONS LIST
========================== */
.de_block_icons_list.section_icons .wrap {
    background-color: transparent;
}

.de_block_icons_list.section_icons .wrap:after {
    display: none;
}

.de_block_icons_list.section_icons .wrap:before {
    display: none;
}

.de_block_icons_list.section_icons .wrap .icons .item:nth-child(3n+2):before,
.de_block_icons_list.section_icons .wrap .icons .item:nth-child(3n+2):after,
.de_block_icons_list.section_icons .wrap .icons .item:not(:nth-child(5n+1)):after {
    display: none;
}

.de_block_icons_list.section_icons .wrap .icons {
    align-items: center;
    gap: 2em 0;
}

.de_block_icons_list.section_icons .wrap .icons .item .icon {
    font-size: 40px;
    line-height: normal;
}

@media (min-width: 1200px) {
    .de_block_icons_list.section_icons .wrap .icons .item {
        height: 100%;
        width: 15%;
        justify-content: center;
    }

    .de_block_icons_list.section_icons .wrap {
        padding: 0 100px;
    }
}

@media (max-width: 1249px) {
    .de_block_icons_list.section_icons .wrap .icons {
        gap: 1em 0;
    }

    .de_block_icons_list.section_icons .wrap .icons .item:not(:nth-child(2n+1)):after {
        display: none;
    }

    .de_block_icons_list.section_icons .wrap {
        padding: 2em;
        margin: 0;
        max-width: none;
    }

    .de_block_icons_list.section_icons .wrap .icons .item {
        width: 33%;
        height: auto;
    }
}

/* ==========================
   MEETING TABLE
========================== */
.section_meeting_table .table .table_row .table_cell {
    border-top-style: solid;
}

.section_meeting_table .table .table_row .table_cell.first_in_row,
.section_meeting_table .table .table_row .table_cell,
.section_meeting_table .table .table_row .table_cell.table_label.first_in_row {
    border-left: none;
    border-color: var(--main);
}

.section_meeting_table .table .table_row .table_cell.table_label.first_in_row,
.section_meeting_table .table .table_row .table_cell.table_label {
    border: none;
}

/* ==========================
   INFO POI BLOCK
========================== */
.extra_info_section_block.extra_info_section .wrap .section_title {
    display: none;
}

.extra_info_section_block.extra_info_section .container:after {
    display: none;
}

.extra_info_section_block.extra_info_section .container:before {
    display: none;
}

/* ==========================
   FAQ BLOCK
========================== */
.section_expandable_contents .wrap {
    background: white;
}

/* ==========================
   GALLERY BLOCK
========================== */
@media (min-width: 992px) {
    .gallery_section.carousel .slider .slider_inner_wrap .slide {
        margin: 0 1em;
    }
}

/* ==========================
   FOOTER & NEWSLETTER
========================== */

@media (max-width: 991px) {
    #footer_top_menu ul.menu {
        flex-direction: row;
        padding: 0px;
    }
}

@media (max-width: 991px) {
    #footer_bottom .top .container {
        padding: 20px 20px;
    }
}


#footer_top_menu li {
    padding: 0 0 30px 0;
}

#footer_bottom .top {
    border-bottom: none;
    padding: 0;
}

#footer_bottom .socials + .contacts {
    margin-top: 0px;
}

#footer_bottom .bottom .container {
    flex-wrap: wrap;
}

#footer_bottom .bottom .container #newsletter_container {
    flex-basis: 100%;
    min-height: 400px;
    display: none;
}

/* ==========================
   ADDITIONAL FOOTER
========================== */
.additional-footer {
    position: relative;
    width: 100%;
    min-height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
    height: calc(100vh - 91px);
}

.additional-footer::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.additional-footer_bg-layers {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.additional-footer_bg-layer {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.additional-footer_bg-layer.is-active {
    opacity: 1;
}

.additional-footer_overlay {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex: 1;
    position: relative;
    z-index: 2;
}

.additional-footer_group-logo {
    width: auto;
    max-height: 180px;
    object-fit: contain;
}

.additional-footer_description {
    color: white;
    font-size: 1.5rem;
    text-align: center;
    font-weight: 300;
    max-width: 100%;
    line-height: 1.4;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    margin: 0;
    padding:30px;
}

.additional-footer_grid {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8vh;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
    width: 80%;
}

.additional-footer_hotel-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    flex: 1;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.additional-footer_hotel-item:hover {
    opacity: 0.8;
}

.additional-footer_hotel-logo {
    width: auto;
    height: 190px;
    object-fit: contain;
}

.additional-footer_city-name {
@media (max-width: 1024px) {
    color: white;
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: uppercase;
    text-align: center;
}
}

@media (max-width: 1024px) {
    .additional-footer {
        height: 110vh;
    }

    .additional-footer_grid {
        row-gap: 30px;
    }   

    .additional-footer_hotel-item {
        flex-basis: 50%;
    }
}

@media (min-width: 1200px) {
    #header #logo .original {
        width: 70%;
        height: 60%;
        max-height: none;
    }
    .additional-footer_grid {
        width: 60%;
    }
}

@media (min-width: 992px) {
    /* Extraction de la règle imbriquée */
    .additional-footer_grid {
        width: 60%;
    }
}

@media (max-width: 1024px) {
    .additional-footer_grid {
        row-gap: 30px;
        margin-top: 30px;
    }
}