/*
    Theme Name: mr-hoteles2025-2026
    Theme URI: mr-hoteles2025-2026
    Description: Mr-hoteles2025-2026
    Author:       Mirai Dev Team
    Author URI:   http://mirai.com
    Template:     mirai-ma
    Version:      1.0.0
    License:      GNU General Public License v2 or later
    License URI:  http://www.gnu.org/licenses/gpl-2.0.html
    Text Domain:  mirai-maai
*/

/*************************************/
/********** GENERAL STYLES **********/
/***********************************/

:root {
    --container-legal: 1280px;

    /***** CALCULATE THE HEADER HEIGHT BY JQ *****/
    --mft-min-height-header: 0px;

    /*56 --- 32*/
    --mft-space-2xl: clamp(48px, calc(48px + (64 - 48) * ((100vw - 1180px) / (1920 - 1180))), 64px);
    --mft-space-2xs: 16px;

    /*64 --- 48*/
    --mft-space-3xl: clamp(48px, calc(48px + (80 - 48) * ((100vw - 1180px) / (1920 - 1180))), 80px);
    --mft-space-3xs: 12px;

    /*80 --- 48*/
    --mft-space-4xl: clamp(48px, calc(48px + (96 - 48) * ((100vw - 1180px) / (1920 - 1180))), 96px);
    --mft-space-4xs: 8px;

    /*96 --- 48*/
    --mft-space-5xl: clamp(48px, calc(48px + (160 - 48) * ((100vw - 1180px) / (1920 - 1180))), 160px);

    /***** SPACES *****/
    --mft-space-5xs: 4px;

    /*40 --- 32*/
    --mft-space-l: clamp(32px, calc(32px + (48 - 32) * ((100vw - 1180px) / (1920 - 1180))), 48px);

    /*32 --- 24*/
    --mft-space-m: clamp(32px, calc(32px + (40 - 32) * ((100vw - 1180px) / (1920 - 1180))), 40px);

    /*24 --- 16*/
    --mft-space-s: clamp(24px, calc(24px + (32 - 24) * ((100vw - 1180px) / (1920 - 1180))), 32px);

    /*48 --- 32*/
    --mft-space-xl: clamp(32px, calc(32px + (56 - 32) * ((100vw - 1180px) / (1920 - 1180))), 56px);
    --mft-space-xs: clamp(16px, calc(16px + (24 - 16) * ((100vw - 1180px) / (1920 - 1180))), 24px);
    --min-height-l: 600px;
    --min-height-m: 500px;
    --min-height-s: 300px;

    /***** MIN-HEIGHT FOR IMG *****/
    --min-height-xs: 150px;
    --width-l: 1920px;
    --width-m: 1280px;

    /*@media screen and (max-width: 1180px){
		--mft-space-5xl: clamp(16px, calc(16px + (160 - 16) * ((100vw - 360px) / (1179 - 360))), 160px); 
	}*/

    /***** CONTAINERS *****/
    --width-s: 700px;

    /*160 --- 48*/

	@media screen and (max-width: 1180px) {
        --mft-space-4xl: clamp(16px, calc(16px + (96 - 16) * ((100vw - 360px) / (1179 - 360))), 96px);

        /*96 --- 16*/
    }
}

body, a, a:hover {
    font-family: inherit;
    /*font-size: inherit;*/
    text-decoration: none;
    text-transform: inherit;
    color: inherit;
}

a.elementor-icon:hover {
    font-size: none;
}

h1,
h2,
h3,
h4,
h5,
p {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    word-spacing: inherit;
	margin: 0;
}

strong {
  font-weight: bold;
}

/* FIXED WIDGET ICON BOX - TITLE AS PARAGRAPH TAG */
p.elementor-icon-box-title {
    margin-top: 0;
}

/***** SPACE BETWEEN SECTIONS *****/
.mft-space-section-t {
    padding-top: var(--mft-space-4xl);
}

.mft-space-section-b {
    padding-bottom: var(--mft-space-4xl);
}

/*Fix for tablet screens*/
@media screen and (max-width: 1024px) and (min-width: 768px) {
    .mft-space-section-t {
        padding-top: var(--mft-space-s);
    }
    .mft-space-section-b {
        padding-bottom: var(--mft-space-s);
    }
}

/***** CONTAINERS ******/
.elementor-element:where(.mft-container-s, .mft-container-m, .mft-container-l) {
    margin: 0 auto;
    box-sizing: border-box;
}

.mft-container-s.elementor-element {
    max-width: var(--width-s);
}

.mft-container-m.elementor-element {
    max-width: var(--width-m);
}

.mft-container-l.elementor-element {
    max-width: var(--width-l);
}

/***** WIDGET IMG RESPONSIVE - makes the image cover and adapt to the container *****/
/*.mft-bg-img .elementor-element:not(.mft-wrapper-content),
*/.mft-bg-img .elementor-element :where(.elementor-widget-image, .e-n-carousel.swiper, .elementor-widget-container) {
    height: 100%;
    padding-bottom: 0 !important;
}

.mft-bg-img .elementor-element .elementor-widget-image img,
.mft-bg-img .elementor-element .elementor-widget-container img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mft-minh-xs {
    min-height: var(--min-height-xs);

    /*150px*/
}

.mft-minh-s {
    min-height: var(--min-height-s);

    /*300px*/
}

.mft-minh-m {
    min-height: var(--min-height-m);

    /*500px*/
}

.mft-minh-l {
    min-height: var(--min-height-l);

    /*600px*/
}

@media(max-width:1024px) {
    .mft-minh-l {
        min-height: var(--min-height-m);
    }
    .mft-minh-m {
        min-height: var(--min-height-s);
    }
    .mft-minh-s {
        min-height: var(--min-height-xs);
    }
}

/* HERO 4 IMAGE SIZE */
@media(max-width: 767px) {
    .mft-hero-4 .mft-minh-l {
        min-height: 250px;
    }
    .mft-hero-4 .mft-minh-s {
        min-height: 160px;
    }
}

/***** CENTER ICON RRSS - centre social media widget icon *****/
.elementor-social-icon.elementor-icon {
    display: flex;
}

/***** FIX MOBILE ICON BOX *****/
/*@media (max-width: 767px) {
    width: 100%;
    min-height: 570px;
    margin-bottom: 0;
    text-align: center;
    background: url(https://static-resources-elementor.mirai.com/common/bg-404.png) no-repeat center center transparent;

    }*/

/****** 404 PAGE ******/
.not-found-page {
    display: table;

    .elementor-widget-icon-box.elementor-vertical-align-middle:where(.elementor-position-left, .elementor-position-right):not(.elementor-mobile-position-top) .elementor-icon-box-wrapper,
    .elementor-widget-icon-box.elementor-vertical-align-middle:where(.elementor-position-left, .elementor-position-right) .elementor-icon-box-icon {
        display: flex;
        align-items: center;
    }
}

.not-found-page span {
    display: table-cell;
    font-size: 18px;
    vertical-align: middle;
}

/***** Hide engine on detail pages *****/
body:where(.cat-room-detail, .cat-offer-detail) [data-mirai-component="finder"] {
    display: none;
}

/***** Colour for the selected menu link *****/
.mft-wrapper-menu-current-link {
    color: var(--e-global-color-accent) !important;
}

/***** Hiding Recaptcha badge *****/
.grecaptcha-badge {
    visibility: hidden;
}

/***** So that loading does not appear in bookingstep1 *****/
body.elementor-editor-active .mi-rs.loading {
    display: none;
}

/***** To make the language selector visible in modal *****/
.wpml-ls-legacy-dropdown-click:hover .wpml-ls-sub-menu {
    visibility: visible;
}

/***** Hide Quicktext chatbot when opening a finder modal in mobile and when opening an Elementor popup *****/
body:has(ui-modal-overflow[class*="_visible"]) #qt-button-frame,
body:has(.dialog-widget [data-mirai-component]) #qt-button-frame {
    visibility: hidden;
}

/* Press the default focus of the WordPress submenu */
.mft-popup-menu .menu-item a:focus {
    color: inherit;
    background: transparent;
}

/***********************************************/

/*********** STYLES THROUGH CLASSES ***********/

/*********************************************/

/***** FROM ABSOLUTE TO RELATIVE - change an absolute element to a relative element from 1024px and above *****/
@media (max-width: 1024px) {
    .mft-relative-tb {
        position: relative;
    }
}

/***** HIDE TEXT CLOSE POP UP CLOSE BUTTON ****/
/*.btn-close-popup .elementor-icon-box-title {
    display: none;
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: var(--e-global-color-text);
    transition: all .3s ease-out;

    }*/

/***** UNDERLINE - add a low line to a button *****/
.mft-underline.elementor-element::after {
    content: "";
}

.mft-underline.elementor-element:hover::after {
    background-color: var(--e-global-color-primary);
}

/***** SEPARATOR LINE BETWEEN TITLE AND TEXT *****/
.mft-divider.elementor-element {
    width: 70px !important;
    border-top: 3px solid var(--e-global-color-primary);
}

.mft-divider-white.elementor-element {
    border-top: 3px solid var(--e-global-color-47eea86e);
}

/***** MOVE THE MOTOR ON Y-AXIS - to put the engine half on the hero image and half off the hero image ******/
.mft-booking-translateY .elementor-widget-Mirai-Finder {
    box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.10);
    translate: 0 -50%;
}

/***** CHANGE THE COLOUR OF TEXT AND BUTTONS ON A COLOURED BACKGROUND *****/

/* on a dark background - variable white colour */
.mft-light-text,
.mft-light-text .elementor-button {
    color: var(--e-global-color-47eea86e) !important;
    fill: var(--e-global-color-47eea86e) !important;
}

/* on a light background - variable black colour */
.mft-dark-text {
    color: var(--e-global-color-bd9d5b8) !important;
    fill: var(--e-global-color-bd9d5b8) !important;
}

/* DYNAMIC CHANGE OF TEXT AND IMAGE BOXED ALTERNATELY */
/*.mft-alternative-box:nth-of-type(even) {
    flex-direction: row-reverse;
    font-family: 'fap-regular' !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    color: var(--e-global-color-bd9d5b8);
    background: var(--e-global-color-47eea86e);
    border-radius: 50%;
    box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.16);
    transition: color .3s  ease-out, background .3s  ease-out;

    }*/

/******************************************************/

/*********** ARROWS & DOTS CAROUSEL STYLES ***********/

/*****************************************************/

/***** ARROWS *****/
.mft-arrows-carousel-styles .elementor-swiper-button i {
	padding: var(--mft-space-3xs) var(--mft-space-2xs);
	font-family: 'fap-regular' !important;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	color: var(--e-global-color-secondary);
	background: #FFFFFF99;
	border-radius: 50%;
	box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.16);
	transition: color .3s ease-out, background .3s ease-out;
}

.mft-arrows-carousel-styles .elementor-swiper-button:hover i {
    color: var(--e-global-color-47eea86e);
    background: var(--e-global-color-primary);
}

.mft-arrows-carousel-styles .elementor-swiper-button-prev i::before {
    content: "\2329";
}

.mft-arrows-carousel-styles .elementor-swiper-button-next i::before {
    content: "\f054";
}

/* when arrows are on a dark background they turn to white */
.mft-arrows-carousel-styles.mft-arrows-carousel-styles-white .elementor-swiper-button i {
    color: var(--e-global-color-47eea86e);
    background: transparent;
    border: 1px solid var(--e-global-color-47eea86e);
}

.mft-arrows-carousel-styles.mft-arrows-carousel-styles-white .elementor-swiper-button:hover i {
    color: var(--e-global-color-47eea86e);
    background: var(--e-global-color-accent);
    border: 1px solid var(--e-global-color-accent);
}

/*Hide arrows on mobile*/
@media screen and (max-width: 767px) {
    .mft-arrows-carousel-styles.mft-arrows-hide-mb .elementor-swiper-button {
        display: none !important
    }
}

/***** DOTS *****/
.mft-dots-carousel-styles .swiper-pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 5px;
    background: var(--e-global-color-13f4851a);
    transition: opacity .3s ease-out, background .3s ease-out;
}

.mft-dots-carousel-styles .swiper-pagination .swiper-pagination-bullet:hover {
    background: var(--e-global-color-13f4851a);
}

/* DOTS AS LINES */
/*.mft-dots-carousel-styles .swiper-pagination .swiper-pagination-bullet {
    width: var(--mft-space-xs);
    height: 2px;

    }

.mft-dots-carousel-styles .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active  {
	width: calc(var(--mft-space-xs) * 2);

    }*/

/* CAROUSEL HIDE ARROWS ON DK */
@media screen and (min-width: 1024px) {
        .mft-no-arrows-dk .elementor-swiper-button.elementor-swiper-button-next,
	.mft-no-arrows-dk .elementor-swiper-button.elementor-swiper-button-prev {
		display: none;
    }
}

/******************************************/

/*********** AUTOSCROLL POPUPS ***********/

/****************************************/

/***** AUTOSCROLL *****/
.mft-scrolly-auto {
    max-height: calc(100dvh - 120px);
    overflow: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

/***** SCROLL BAR STYLES *****/
.mft-modal-scroll::-webkit-scrollbar {
    width: 5px;
}

.mft-modal-scroll::-webkit-scrollbar-track {
    border-radius: 2px;
    box-shadow: inset 0 0 5px var(--e-global-color-text);
}

.mft-modal-scroll::-webkit-scrollbar-thumb {
    background-color: var(--e-global-color-text);
    border-radius: 2px;
    transition: background .3s;
}

.mft-modal-scroll::-webkit-scrollbar-thumb:hover {
    background: var( --e-global-color-primary);
}

/********************************/

/*********** BUTTONS ***********/

/******************************/

/***** GENERIC BUTTON STYLES *****/
.elementor-button[class^='mft-btn'] {
    padding: var(--mft-space-2xs) var(--mft-space-xs);
    font-family: var(--e-global-typography-6d2edf1-font-family);
    font-size: var(--e-global-typography-6d2edf1-font-size);
    font-weight: var(--e-global-typography-6d2edf1-font-weight);
    line-height: var(--e-global-typography-6d2edf1-line-height);
    letter-spacing: var(--e-global-typography-6d2edf1-letter-spacing);
    text-transform: var(--e-global-typography-6d2edf1-text-transform);
    background-color: transparent;
    fill: inherit;
    border-radius: 0;
    transition: all .3s ease;
}

.mft-btn-width-100 .mft-btn {
    width: 100%;
}

/* fixed extra heigth span icon */
.elementor-button .elementor-button-icon {
    display: flex;
}

/* when hovering */
@media (hover: hover) and (pointer: fine) {
    .mft-btn .elementor-button-text::after {
        content: "\f054";
        opacity: 0;
        padding-left: 10px;
        font-family: 'fap-regular';
        font-size: 12px;
        transition: all .3s ease;
    }
    .mft-btn:not(.mft-btn-4) .elementor-button-content-wrapper {
        align-items: center;
        transition: all .3s ease;
        translate: 11px 0;
    }
    .elementor-button.mft-btn:hover .elementor-button-text::after {
        opacity: 1;
    }
    .elementor-button.mft-btn:hover .elementor-button-content-wrapper {
        translate: 0 0;
    }
}

/***** BTN - 1 - As the Finder Button *****/
.elementor-button.mft-btn-1 {
    color: var(--e-global-color-13f4851a);
    background-color: var(--e-global-color-6cb047a);
    fill: var(--e-global-color-13f4851a);
    border: 2px solid var(--e-global-color-6cb047a);
}

@media (hover: hover) and (pointer: fine) {
    .elementor-button.mft-btn-1:hover {
        color: var(--e-global-color-47eea86e);
        background-color: var(--e-global-color-primary);
        fill: var(--e-global-color-47eea86e);
        border: 2px solid var(--e-global-color-primary);
    }
}

/***** BTN - 2 *****/
.elementor-button.mft-btn-2 {
    color: var(--e-global-color-primary);
    background-color: transparent;
    fill: var(--e-global-color-primary);
    border: 2px solid var(--e-global-color-primary);
}

.elementor-button.mft-btn-2-white {
    color: var(--e-global-color-47eea86e);
    background-color: transparent;
    fill: var(--e-global-color-47eea86e);
    border: 2px solid var(--e-global-color-47eea86e);
}

@media (hover: hover) and (pointer: fine) {
    .elementor-button.mft-btn-2:hover,
	.elementor-button.mft-btn-2-white:hover {
        color: var(--e-global-color-bd9d5b8);
        background-color: var(--e-global-color-primary);
        fill: var(--e-global-color-bd9d5b8);
        border: 2px solid var(--e-global-color-primary);
    }
}

/***** BTN - 3 *****/
.elementor-button.mft-btn-3 {
    color: var(--e-global-color-primary);
    background-color: transparent;
    fill: var(--e-global-color-primary);
    border: 2px solid;
}

@media (hover: hover) and (pointer: fine) {
    .elementor-button.mft-btn-3:hover {
        color: var(--e-global-color-47eea86e);
        background-color: var(--e-global-color-primary);
        fill: var(--e-global-color-47eea86e);
        border: 2px solid var(--e-global-color-primary);
    }
}

/***** BTN - 4 *****/
.elementor-button.mft-btn-4 {
    position: relative;
    padding: 0;
    color: var(--e-global-color-primary);
    background-color: transparent;
    fill: var(--e-global-color-primary);
}

.mft-btn.mft-btn-4 .elementor-button-text {
    position: relative;
    padding-bottom: 5px;
}

.mft-btn.mft-btn-4 .elementor-button-text::after {
    padding-left: 0;
    font-size: 0;
}

@media (hover: hover) and (pointer: fine) {
    .elementor-button.mft-btn-4:hover {
        color: var(--e-global-color-primary);
        fill: var(--e-global-color-primary);
    }
    .elementor-button.mft-btn.mft-btn-4:hover .elementor-button-text::after {
        opacity: 1;
        padding-left: 10px;
        font-size: 12px;
    }
}

/* underline */
a.elementor-button.mft-btn-4::before {
    content: "";
    position: absolute;
    inset: 100% 0 0 0;
    width: 100%;
    height: 2px;
    background: var(--e-global-color-primary);
}

.mft-light-text a.elementor-button.mft-btn-4::before,
.mft-light-text a.elementor-button.mft-btn-4:hover::before {
    background: var(--e-global-color-47eea86e);
}

.mft-dark-text a.elementor-button.mft-btn-4::before,
.mft-dark-text a.elementor-button.mft-btn-4:hover::before {
    background: var(--e-global-color-21f8c9b7);
}

@media (hover: hover) and (pointer: fine) {
    /* color hover underline */
	a.elementor-button.mft-btn-4:hover::before {
        background: var(--e-global-color-primary);
    }
}

/***** BUTTON SIZE BUTTONS ADAPTED TO THE CONTAINER AND RESPONSIVE *****/
.mft-wrapper-btn .mft-btn-width.elementor-element a {
    display: block;
    width: 100%;
    text-align: center;
}

/******************************************/

/************* GALLERY GRID *************/

/***************************************/

/* Gallery */
.mft-grid-gallery {
    height: 31vw;
}

/* Images fill the entire container without distortion */
.mft-grid-gallery .gallery-item {
    position: relative;
    max-width: unset !important;
    overflow: hidden;
}

.mft-grid-gallery .gallery-item a img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Gallery container: defines the grid */
.mft-grid-gallery .elementor-image-gallery .gallery {
    display: grid;
    grid-template-areas: "item1 item1 item2 item2 item3 item4"
    "item1 item1 item5 item5 item6 item7";
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: 15.5vw 15.5vw;
    gap: 5px;
}

/* Assign grid areas by class (grid area) instead of :nth-child */
.mft-grid-gallery .gallery-item:nth-child(1) {
    grid-area: item1;
}

.mft-grid-gallery .gallery-item:nth-child(2) {
    grid-area: item2;
}

.mft-grid-gallery .gallery-item:nth-child(3) {
    grid-area: item3;
}

.mft-grid-gallery .gallery-item:nth-child(4) {
    grid-area: item4;
}

.mft-grid-gallery .gallery-item:nth-child(5) {
    grid-area: item5;
}

.mft-grid-gallery .gallery-item:nth-child(6) {
    grid-area: item6;
}

.mft-grid-gallery .gallery-item:nth-child(7) {
    grid-area: item7;
}

/* Rounded border styles */
/*.mft-grid-gallery .gallery-item:nth-child(1) {
    border-radius: 18px 0 0 18px;

    }

.mft-grid-gallery .gallery-item:nth-child(4) {
  border-radius: 0 18px 0 0;
    }

.mft-grid-gallery .gallery-item:nth-child(7) {
  border-radius: 0 0 18px 0;
    }*/

/* Hide additional elements (starting from the eighth) */
.mft-grid-gallery .gallery-item:nth-child(n + 8) {
  display: none;
}

@media (max-width: 768px) {
    .mft-grid-gallery,
  .mft-grid-gallery .gallery-item {
        height: 400px;
    }
    .mft-grid-gallery .elementor-image-gallery .gallery {
        grid-template-areas: "item1"
      "item1";
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
        height: 100%;
    }
    /* Only the first item visible and in full size  */
  .mft-grid-gallery .gallery-item:not(:nth-child(1)) {
        display: none;
    }
    .mft-grid-gallery .gallery-item:nth-child(1) {
        display: block;
        grid-area: item1;

        /*border-radius: 18px;*/
    }
}

/* Button Show Gallery */
.mft-show-gallery {
    position: absolute;
    inset: auto 20px 65px auto;
    white-space: nowrap;
    color: var(--e-global-color-52235058) !important;
    box-shadow: 3px 3px 15px 0px #0000005c !important;
}

@media (hover: hover) and (pointer: fine) {
    .mft-show-gallery:hover {
        background-color: var(--e-global-color-primary) !important;
    }
}

/* Gallery Lightbox */
.dialog-lightbox-widget[id^='elementor-lightbox-slideshow'] .dialog-widget-content.dialog-lightbox-widget-content {
    inset: 0 !important;
}

/* FIX CAROUSEL DOTS WHEN THERE IS A GRID GALLERY ON THE PAGE */
body:has(.mft-grid-gallery) .e-widget-swiper.elementor-element .swiper-pagination-bullets.swiper-pagination-horizontal {
    transform: none;
}

/************************************************/

/************* SEE MORE / SEE LESS *************/

/**********************************************/

/* Accordion title show/hide */
.mft-see-more .e-n-accordion-item:not([open]) .e-n-accordion-item-title-text>.title-close,
.mft-see-more .e-n-accordion-item[open] .e-n-accordion-item-title-text>.title-open {
    display: none;
}

/* Accordion invert title direction */
.mft-see-more .e-n-accordion-item .e-n-accordion-item-title {
    order: 1;
    width: fit-content;
}

/* Style btn see more - less */
.mft-see-more .title-open, .title-close {
    padding: 0;
    font-family: var(--e-global-typography-6d2edf1-font-family), Sans-serif;
    font-size: var(--e-global-typography-6d2edf1-font-size);
    font-weight: var(--e-global-typography-6d2edf1-font-weight);
    color: var(--e-global-color-text);
    background-color: transparent;
    border-bottom: 2px solid;
    transition: color .3s ease;
}

.mft-see-more .title-open:hover, .title-close:hover {
    color: var(--e-global-color-primary);
}

/**************************************/

/*********** STYLE FORM ***********/

/************************************/

.mft-acceptance-form {
    font-family: "Helvetica";
    font-size: 12px;
    font-weight: 400;
    color: #333333;
}

.mft-acceptance-form a,
.mft-acceptance-form a:hover {
    font-weight: bold;
    text-decoration: underline;
}

#form-field-acceptance {
    width: 20px;
    height: 20px;
    margin: 0 10px 0 0;
}

.elementor-field-group-acceptance .elementor-field-option {
    display: flex;
    align-items: center;
}

.mft-form-style .eicon-caret-down:before {
    content: "\f078";
    font-family: 'fap-regular' !important;
    font-size: 10px;
    font-weight: normal;
}

.mft-mandatory-form {
    color: #d32f2f;
}

.mft-form-style input,
.mft-form-style textarea,
.mft-form-style select {
    padding-top: 20px !important;
}

.mft-form-style input:focus,
.mft-form-style textarea:focus,
.mft-form-style select:focus {
    border-color: #000 !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--corporative-color) 50%, transparent) !important;
}

.mft-form-style label:not(.elementor-field-group-acceptance label) {
    position: absolute;
    top: 12px;
    left: 25px;
    z-index: 1;
    transition: all 0.3s ease;
    pointer-events: none;
}

.mft-form-style label:not(.elementor-field-group-acceptance label),
.mft-form-style .elementor-field-group .elementor-field-textual {
    font-family: "Helvetica";
    font-size: 16px;
    font-weight: 400;
    color: #666;
}

.mft-form-style .elementor-field-group .elementor-field-textual {
    padding-left: 19px;
    color: #333;
}

.mft-form-style .elementor-field-group:has(input:focus) label,
.mft-form-style .elementor-field-group:has(textarea:focus) label,
.mft-form-style .elementor-field-group:has(select:focus) label,
.mft-form-style .elementor-field-group:has(input:not(:placeholder-shown)) label,
.mft-form-style .elementor-field-group:has(textarea:not(:placeholder-shown)) label,
.mft-form-style .elementor-field-group:has(select:valid) label {
    top: 5px;
    font-size: 12px !important;
}

.mft-form-style .elementor-field-type-submit .elementor-button {
    background-color: var(--mirai-ui-button-background);
}

.mft-form-style .elementor-field::placeholder,
.mft-form-style .elementor-field-group label:after {
    color: transparent !important;
}

.mft-form-style .elementor-field-group .elementor-field-textual {
    border: 1px solid #DDDDDD;
}

/*********************************/

/************* WPML *************/

/*******************************/

.wpml-elementor-ls {
    display: flex;
    align-items: center;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
    min-height: 21px;
    padding-right: 0;
}

.wpml-ls-legacy-dropdown-click a {
    padding: 1px 10px 1px 25px;
    color: var(--e-global-color-text);
    border: none;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle {
    background-color: transparent;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
    display: none;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::before {
    content: "\1f310";
    position: absolute;
    left: 0;
    font-family: 'fap-regular';
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-link {
    padding: 7px 10px 7px 10px;
    text-align: center;
    background-color: var(--e-global-color-47eea86e);
}

.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a {
    border-width: 0;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
    border-top: none;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.16);
    transition: .3s ease-in-out;
}

.wpml-ls-legacy-dropdown-click {
    transition: .3s ease-in-out;
}

.wpml-ls-legacy-dropdown-click a:focus {
    background: #dddbd9;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-link {
    position: relative;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-link::after {
    content: "";
    position: absolute;
    inset: auto 50% 3px;
    width: 20px;
    height: 2px;
    background: transparent;
    transition: .3s ease-in-out;
    transform: translateX(-50%);
}

@media (hover: hover) and (pointer: fine) {
    .wpml-ls-legacy-dropdown-click a:hover {
        color: var(--e-global-color-fc842eb);
    }
    .wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover>a,
	.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover>a::after {
        color: var(--e-global-color-fc842eb);
        background: transparent;
    }
    .wpml-ls-legacy-dropdown-click a.wpml-ls-link:hover::after {
        background: var(--e-global-color-fc842eb);
    }
}

@media (max-width: 1024px) {
    /* hide native language and arrow in tb */
    .wpml-ls-legacy-dropdown-click .wpml-ls-current-language a.wpml-ls-item-toggle .wpml-ls-native,
    .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
        display: none;
    }
    /* to remove the space after hiding the arrow */
    .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
        padding-right: 0;
    }
    /* the space for the language drop-down */
    .wpml-ls-legacy-dropdown-click a {
        padding: 0;
    }
    .wpml-ls-legacy-dropdown-click a.wpml-ls-link {
        padding: 5px 0;
        font-size: 13px;
    }
}

/**************************************/

/*********** MASHUP OFFERS ***********/

/************************************/

/***** GENERAL STYLES *****/
.mashup-1 .offers-mashup-slide,
.mashup-2 .offers-mashup-slide {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--mft-space-xs);
}

/* title */
.offers-mashup dl dt {
    font-family: var(--e-global-typography-fcce242-font-family);
    font-size: 24px;
    font-weight: var(--e-global-typography-fcce242-font-weight);
    line-height: var(--e-global-typography-fcce242-line-height);
}

/* discount */
.offers-mashup dl dd {
    font-family: var(--e-global-typography-8035a56-font-family), Sans-serif;
    font-size: var(--e-global-typography-8035a56-font-size);
    font-weight: var(--e-global-typography-8035a56-font-weight);
    line-height: var(--e-global-typography-8035a56-line-height);
}

/* button */
.offers-mashup dl .more-info-link {
    display: inline-block;
    padding: var(--mft-space-2xs) var(--mft-space-xs);
    font-family: var(--e-global-typography-6d2edf1-font-family), Sans-serif;
    font-size: var(--e-global-typography-8035a56-font-size);
    font-weight: var(--e-global-typography-6d2edf1-font-weight);
    text-transform: none;
    color: var(--e-global-color-text);
    background-color: transparent;
    border: 2px solid;
    transition: color .3s ease, fill .3s ease, background-color .3s ease, border-color .3s ease;
}

.offers-mashup dl .more-info-link:hover {
    color: var(--e-global-color-47eea86e);
    background-color: var(--e-global-color-primary);
    fill: var(--e-global-color-47eea86e);
    border: 2px solid var(--e-global-color-primary);
}

/***** MASHUP 1 - 2 fixed offers, with photo and without carousel *****/
.mashup-1 .offers-mashup-slide dl {
    background: var(--e-global-color-47eea86e);
}

.mashup-1 .offers-mashup-slide dl img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.mashup-1 .offers-mashup dl dt {
    padding: var(--mft-space-s) var(--mft-space-xs) var(--mft-space-3xs);
}

.mashup-1 .offers-mashup dl dd {
    padding: var(--mft-space-2xs) var(--mft-space-xs) var(--mft-space-s);
}

/***** MASHUP 2 - 2 fixed offers, without photo and without carousel *****/
.mashup-2 .offers-mashup-slide dl {
    padding: var(--mft-space-l);
    background-color: var(--e-global-color-f79e654);
}

.mashup-2 .offers-mashup dl dt {
    position: relative;
    margin-bottom: 24px;
    padding: 0 35px 24px;
    border-bottom: 2px solid var(--e-global-color-text);
}

.mashup-2 .offers-mashup dl dt::before {
    content: "\f006";
    position: absolute;
    left: 0;
    font-family: 'fap-regular' !important;
    font-weight: normal;
    color: var(--e-global-color-text);
}

/***** MASHUP 3 - with photo and carousel (flickity) *****/
.mashup-3 .offers-mashup dl dt {
    padding: var(--mft-space-s) 0;
}

.mashup-3 .offers-mashup dl dd {
    padding-bottom: var(--mft-space-s);
}

.mashup-3  [data-custom-flickity-params] {
    padding-bottom: 50px;
}

.mashup-3 .offers-mashup dl {
    gap: 10px;
    width: 33%;
    margin: 0 5px;
}

.mashup-3 .flickity-button {
    padding: var(--mft-space-3xs);
    color: var(--e-global-color-accent) !important;
    background: #FFFFFF99 !important;
    box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.16);
    transition: background .3s ease-in-out, color .3s ease-in-out, opacity .3s ease-in-out;
}

.mashup-3 .flickity-button:hover {
    color: var(--e-global-color-47eea86e) !important;
    background: #fff;
    background: var(--e-global-color-accent) !important;
    cursor: pointer;
}

.mashup-3 .flickity-page-dots .dot {
    background: var(--e-global-color-accent);
}

.mashup-3  [data-custom-flickity-params] .offers-mashup-inner img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

@media (max-width:1024px) {
    .mashup-3 .offers-mashup dl {
        width: 50%;
    }
}

@media (max-width:767px) {
    .mashup-1 .offers-mashup-slide,
	.mashup-2 .offers-mashup-slide {
        grid-template-columns: 1fr;
    }
    [data-custom-flickity-params] .carousell-cell {
        width: 100%;
    }
    .mashup-3 .offers-mashup dl {
        width: 100%;
    }
}

/****************************************/

/***** START LEGAL PAGE TEXT WIDGET *****/

/****************************************/

/***** COOKIES POLICY ******/
.cookies-section,
.mft-legal-text {
    max-width: var(--container-legal) !important;
    margin: 0 auto;
    box-sizing: border-box;
}

.cookies-section {
    padding: var(--mft-space-4xl) 0;
}

.cookies-section a {
    font-weight: bold;
    transition: color .3s ease-in-out;
}

.cookies-section a:hover {
    color: var(--e-global-color-primary);
}

.cookies-section .elementor-widget-wrap .elementor-widget-heading:first-child .mi-title3 {
    display: none;
}

/***** LEGAL NOTICE ******/

/* Heading H1 */
.mft-legal-text h1,
.cookies-section .elementor-widget-wrap .elementor-widget-heading:first-child .mi-title3,
.blog-single-post .elementor-widget-theme-post-title h1,
.elementor-widget-single-job-title h1 {
    padding-bottom: 20px;
    font-family: var(--e-global-typography-primary-font-family) !important;
    font-size: var(--e-global-typography-primary-font-size) !important;
    font-weight: var(--e-global-typography-primary-font-weight) !important;
    line-height: var(--e-global-typography-primary-line-height) !important;
    color: var(--e-global-color-text) !important;
}

/* Heading H2 */
.mft-legal-text h2,
.cookies-section .mi-title3,
.blog-single-post h2,
.single_job_listing h2 {
    padding-bottom: 20px;
    font-family: sans-serif;
    font-size: clamp(28px, calc(28px + (36 - 28) * ((100vw - 360px) / (1920 - 360))), 36px);
    font-weight: 700;
    line-height: var(--e-global-typography-secondary-line-height);
}

/* Heading H3*/
.mft-legal-text h3,
.blog-single-post h3,
.single_job_listing h3 {
    padding-bottom: 20px;
    font-family: sans-serif;
    font-size: clamp(21px, calc(21px + (24 - 21) * ((100vw - 360px) / (1920 - 360))), 24px);
    font-weight: 700;
    line-height: var(--e-global-typography-accent-line-height);
}

/* Heading H4*/
.mft-legal-text h4 {
    padding-bottom: 20px;
    font-family: Sans-serif;
    font-size: clamp(19px, calc(19px + (20 - 19) * ((100vw - 360px) / (1920 - 360))), 20px);
    font-weight: 700;
    line-height: var(--e-global-typography-962030d-line-height);
}

.mft-legal-text h1 {
    margin: 0 0 30px;
}

.mft-legal-text h2 {
    margin: 45px 0 0;
}

.mft-legal-text h3,
.mft-legal-text h4,
.cookies-section .mi-title3 {
    margin: 30px 0 0;
}

/* LINKS */
.mft-legal-text a {
    overflow-wrap: break-word;
    text-decoration: none;
    text-wrap: wrap;
    color: var(--e-global-color-primary);
    transition: .3s ease-in-out;
}

.mft-legal-text a:hover {
    color: var(--e-global-color-13f4851a);
}

.mft-legal-text a span {
    color: inherit !important;
}

/* SPACE AFTER ELEMENTS */
.mft-legal-text :where(p, ul, ol, span) {
    margin-bottom: 15px;
}

/* LISTS */
.mft-legal-text ol {
    padding-left: 18px;
}

.mft-legal-text ol li {
    margin-bottom: 5px;
    overflow-wrap: break-word;
    list-style: circle outside none;
}

.mft-legal-text ul {
    padding-left: 35px;
}

.mft-legal-text ul li {
    margin-bottom: 5px;
    overflow-wrap: break-word;
    list-style: disc outside none;
}

/* TABLE STYLE */
.mft-legal-text table tr:first-child {
    color: var(--e-global-color-47eea86e);
    background-color: var(--e-global-color-d9f1a36);
}

/* Table general styles */
.mft-legal-text table {
    width: 100%;
    margin: 30px 0;
    font-size: 1em;
    background-color: transparent;
    border-collapse: collapse;
    border-spacing: 0;
}

@media (max-width:1023px) {
    .mft-legal-text table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }
}

/* Table cell padding and styles */
.mft-legal-text table :where(td, th) {
    min-width: 200px;
    padding: 15px;
    line-height: 1.5em;
    border: 1px solid var(--e-global-color-15b9b07);
    vertical-align: top;
}

/* Background of odd table rows */
.mft-legal-text table tbody > tr:nth-child(odd) > :where(td, th) {
    background-color: #09090912;
}

.mft-legal-text table a:hover {
    text-decoration: none;
}

/**************************************/

/*********** DYNAMIC PAGES ***********/

/************************************/

/***** GENERAL STYLE *****/

/* ICONS -- these icons are painted on the room detail and offer pages */
a.back-link::before, 
a:where(.fwd-link, .down-link)::after {
    content: "\f060";
    display: inline-block;
    margin: 0 .5em;
    font-family: 'fap-regular' !important;
    font-size: .85em;
    font-weight: normal;
    line-height: .85em;
    text-decoration: none;
    transition: all .2s ease-out;
    vertical-align: middle;
}

a.fwd-link::after {
    content: "\f060";
}

a.down-link::after {
    content: "\f078";
}

a.fwd-link:hover, 
.back a:hover,
a.down-link:hover {
    text-decoration: none;
}

a.fwd-link:hover::after {
    margin-left: 1em;
    margin-right: 0;
}

.back a:hover::before {
    margin-left: 0;
    margin-right: 1em;
}

a.down-link:hover::after {
    transform: translateY(0.3em);
}

/* container */
.rooms-listing-wrapper,
.rooms-detail-wrapper,
.offers-listing-wrapper,
.offers-detail-wrapper {
    max-width: var(--width-l);
    margin: 0 auto;
    padding-left: var(--mft-space-5xl);
    padding-right: var(--mft-space-5xl);
    box-sizing: border-box;
}

/* titles rooms & detail room */
.rooms-listing-wrapper h2,
.rooms-listing-wrapper .room-box h3 a,
.rooms-detail-wrapper :where(h2, h3) {
    font-family: var(--e-global-typography-962030d-font-family), Sans-serif;
    font-size: var(--e-global-typography-962030d-font-size);
    font-weight: var(--e-global-typography-962030d-font-weight);
    line-height: var(--e-global-typography-962030d-line-height);
    text-decoration: none;
    text-transform: none;
    transition: .3s ease-in-out;
}

/* hover title room */
.rooms-listing-wrapper .room-box h3 a:hover {
    color: var(--e-global-color-primary) !important;
}

.offers-listing-wrapper h2, /* title intro offer */
.offers-listing .offer .offer-title, /* title offer */
.offers-detail-wrapper .offer-wrapper .offer-title, /* title offer detail */
.offers-listing-4 .offer-text h3 /* title card offer tpl 4*/ {
    margin-bottom: var(--mft-space-2xs);
    font-family: var(--e-global-typography-962030d-font-family), Sans-serif;
    font-size: var(--e-global-typography-4d3a7db-font-size);
    font-weight: var(--e-global-typography-962030d-font-weight);
    line-height: var(--e-global-typography-962030d-line-height);
}

.offers-listing .offer .offer-title {
    width: 100%;
    font-size: 27px;
}

/* decoration title underlined */
/*.offers-listing .offer .offer-title::after,
.offers-detail-wrapper .offer-header-content-wrapper .offer-title::after {
    content: "";
    display: block;
    width: 70px;
    height: 3px;
    margin: var(--mft-space-2xs) 0;
    font-family: var(--e-global-typography-6d2edf1-font-family), Sans-serif;
    font-size: var(--e-global-typography-6d2edf1-font-size);
    font-weight: var(--e-global-typography-6d2edf1-font-weight);
    color: var(--e-global-color-47eea86e);
    background: var(--e-global-color-primary);
    background-color: var(--e-global-color-primary);
    border: 2px solid var(--e-global-color-primary);
    transition: all .3s ease;

    }*/

/***** btn - more information & offer-button *****/
.rooms-listing-wrapper .room-box a.more-info,
.rooms-listing-wrapper .room-box .room-intro a,
.offers-listing .offer .offer-button {
	padding: var(--mft-space-2xs) var(--mft-space-xs);
    font-weight: 600;
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-13f4851a);
}

/* hover btn - more information & button */
.rooms-listing-wrapper .room-box a.more-info:hover,
.rooms-listing-wrapper .room-box .room-intro a:hover,
.offers-listing .offer .offer-button:hover {
    background-color: var(--e-global-color-primary);
    color: var(--e-global-color-47eea86e);
    /*border: 2px solid var(--e-global-color-13f4851a);*/
}

/* btn - more information */
.rooms-listing-wrapper .room-box a.more-info,
.rooms-listing-wrapper .room-box .room-intro a {
    display: block !important;
    width: max-content;
    margin-top: var(--mft-space-m);
    text-decoration: none !important;
}

/* btn -  offer-button */
.offers-listing .offer .offer-button {
    display: inline-block;
    position: relative !important;
    right: 0;
    bottom: 0;
    margin: 10px 35px;
}

.room-box .room-content ul.exclusive-services {
    margin: 15px 0;
    padding-left: 0;
}

/* btn - more information full width & center mobile */
@media (max-width:767px) {
    .rooms-listing-wrapper .room-box a.more-info,
	.rooms-listing-wrapper .room-box .room-intro a {
        width: auto;
        text-align: center;
    }
    .offers-listing .offer .offer-button {
        display: block;
    }
}

/***** icons and room description text *****/
.rooms-listing-1 .room-box .room-detail ul li {
    font-weight: 500;
}

.rooms-listing-wrapper .room-box .room-detail ul li span:where(.occupancies-ico, .size-ico, .distibution-ico) {
    width: auto;
    height: auto;
    background-image: none !important;
}

.rooms-listing-wrapper .room-box .room-detail ul li span:where(.occupancies-ico, .size-ico, .distibution-ico)::before {
    padding-right: 5px;
    font-family: 'fap-regular' !important;
    font-size: 25px;
    font-weight: normal;
    color: var(--e-global-color-primary);
}

.rooms-listing-wrapper .room-box .room-detail ul li span.occupancies-ico::before {
    content: "\1f464";
}

.rooms-listing-wrapper .room-box .room-detail ul li span.size-ico::before {
    content: "\f05a";
}

.rooms-listing-wrapper .room-box .room-detail ul li span.distibution-ico::before {
    content: "\1f6cf";
}

.offers-listing-wrapper.no-offers {
    padding: 50px 24px;
    text-align: center;
}

/********** TEMPLATES ROOMS **********/

/* ROOM TEMPLATE 1 */
.rooms-listing-1 .room-box .room-detail ul {
    margin: 0;
    padding: var(--mft-space-xs) 0;
    text-align: center;
    background: transparent !important;
}

.rooms-listing-1 .room-box .room-detail ul li {
    width: auto !important;
    padding-right: var(--mft-space-s);
}

.rooms-listing-1 .room-box .room-content .room-price {
    border-top: none;
}

.rooms-listing-1 .room-box .room-content .room-price .box-from .box-price,
.rooms-listing-1 .room-box .room-content .room-price .box-from .price-description {
    color: var(--e-global-color-text);
}

.rooms-listing-1 .room-box .room-content .room-price .box-from .box-price {
    font-weight: bold;
}

.rooms-listing-1 .room-box .room-content .room-price .box-from .box-price span {
    font-size: 16px;
}

/*.rooms-listing-1 .room-box .room-detail {
    padding: var(--mft-space-4xl) var(--mft-space-m) 0 var(--mft-space-m);

    }*/

.rooms-listing-1 .room-box p {
	margin-bottom: var(--mft-space-xs);
}

.rooms-listing-1 .room-box img {
    min-height: 600px;
    max-height: 600px;
    object-fit: cover;
}

.rooms-listing-wrapper.rooms-listing-1 .room-detail,
.rooms-listing-wrapper.rooms-listing-1 .room-content {
    text-align: center;
}

.rooms-listing-wrapper.rooms-listing-1 .room-content,
.rooms-listing-wrapper.rooms-listing-1 .room-content a {
    margin: 0 auto;
}

.room-box .room-content ul.exclusive-services li {
    float: none;
    margin: 0 auto;
    list-style-type: none;
}

.rooms-detail-wrapper .room-box-price .go-to-calendar {
    padding: var(--mft-space-2xs) var(--mft-space-xs);
    font-family: var(--e-global-typography-6d2edf1-font-family);
    font-size: var(--e-global-typography-6d2edf1-font-size);
    font-weight: var(--e-global-typography-6d2edf1-font-weight);
    color: var(--e-global-color-13f4851a);
    background-color: transparent;
    background-color: var(--e-global-color-6cb047a);
    fill: inherit;
    fill: var(--e-global-color-13f4851a);
    border: 2px solid var(--e-global-color-6cb047a);
    border-radius: 0;
    transition: all .3s ease;
}

.rooms-detail-wrapper .room-box-price .go-to-calendar:hover {
    color: var(--e-global-color-47eea86e);
    background-color: var(--e-global-color-primary);
    fill: var(--e-global-color-47eea86e);
    border: 2px solid var(--e-global-color-primary);
}

@media (min-width:1025px) {
    .rooms-listing-1 .room-box .room-detail {
        /*padding: 0 var(--mft-space-m) !important;*/
        padding: var(--mft-space-4xl) var(--mft-space-m) 0 var(--mft-space-m) !important;
    }
    .rooms-listing-1 .room-box .room-content {
        padding: 0 var(--mft-space-m) var(--mft-space-m) !important;
    }
}

.rooms-detail-wrapper.rooms-detail-1 .room {
    background-color: transparent;
}

/* ROOM TEMPLATE 2 */
.rooms-listing-2 .room-box {
    border: none;
}

.rooms-listing-2 .room-box .room-detail {
    padding: 0px 2%;
}

@media (min-width:979px) {
    .rooms-listing-2 .room-box .room-image,
	.rooms-listing-2 .room-box .room-detail {
        width: 50%;
    }
    .rooms-listing-2 .room-box .room-detail ul {
        left: auto;
        width: 50%;
    }
}

@media (max-width:979px) {
    .rooms-listing-2 .room-detail h3 {
        padding-top: var(--mft-space-m);
    }
}

/* ROOM TEMPLATE 3 */
.rooms-listing-3 .room-item h3 {
    font-family: var(--e-global-typography-962030d-font-family), Sans-serif;
    font-size: var(--e-global-typography-962030d-font-size);
    font-weight: var(--e-global-typography-962030d-font-weight);
    line-height: var(--e-global-typography-962030d-line-height);
    background-color: rgb(32 32 32 / 60%);
}

.rooms-listing-3 a.room-image-link img {
    transition: all .3s ease;
}

.rooms-listing-3 a.room-image-link:hover img {
    filter: brightness(0.8);
}

.rooms-listing-3 .room-item .min-price {
    color: var(--e-global-color-47eea86e);
    background-color: var(--e-global-color-primary);
}

/* ROOM TEMPLATE 4 */
.rooms-listing-4 .room-box .room-image-link {
    position: relative;
    min-height: 400px;
}

.rooms-listing-4 .room-box .room-image-link img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rooms-listing-4 .room-box .room-content {
    background-color: var(--e-global-color-f79e654) !important;
}

/* ROOM TEMPLATE 5 */
.rooms-listing-5 li.item-service::marker {
    font-size: 0;
}

@media (min-width:768px) {
    .rooms-listing-5 .room-box {
        padding: var(--mft-space-l);
        background-color: transparent !important;
    }
    .rooms-listing-5 .room-name,
	.rooms-listing-5 .room-intro {
        padding-left: 0;
        padding-right: var(--mft-space-l);
    }
    .rooms-listing-5 .room-box:nth-child(odd) .room-name,
	.rooms-listing-5 .room-box:nth-child(odd) .room-intro {
        padding-left: var(--mft-space-l);
        padding-right: 0;
    }
}

@media (max-width:767px) {
    .rooms-listing-wrapper .room-box .room-content {
        padding-top: var(--mft-space-m) !important;
    }
    .rooms-listing-4 .room-box .room-image-link {
        min-height: 200px;
    }
    .rooms-listing-4 .room-box .room-content {
        background-color: transparent !important;
    }
}

/* decomment when requesting centred content - for all templates*/
/*.rooms-listing-wrapper .room-detail,
.rooms-listing-wrapper .room-box .room-detail ul,
.rooms-listing-wrapper .room-box .room-content,
.rooms-listing-5 .room-name,
.rooms-listing-5 .room-description {
    flex-wrap: wrap;
    gap: var(--mft-space-l);
    padding-top: var(--mft-space-l);
    text-align: center !important;

    }*/

/* centring for template 2 and 4 */
/*.rooms-listing-wrapper .room-box .room-content,
.rooms-listing-2 .room-box .room-detail .room-description,
.rooms-listing-4 .room-box .room-description,
.rooms-listing-5 .room-intro .row:last-child {
display: flex;
flex-direction: column;
align-items: center;
}*/

/* centred check-list template 5 */
/*.rooms-listing-5 .room-services-list {
padding-left: var(--mft-space-l);
}*/

/********** TEMPLATE OFFERS **********/

/* OFFER TEMPLATE 1 */
.offers-listing-1 .offers-listing {
	display: flex;
}

.offers-listing-1 .offer {
    width: 48%;
    margin: 0 auto;
}

.offers-listing-1 .offer .offer-photo {
    position: relative;
    width: 150px;
    height: 350px;
}

.offers-listing-1 .offer .offer-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.offers-listing-1 .offer .offer-box {
    float: none;
}

.offers-listing-1 .offer .offer-title {
    padding: 25px 35px 0;
}

.offers-listing-1 .offer .offer-date-range {
    padding: 0 35px;
}

.offers-listing-1 .offer-box.box-3 {
    display: none;
}

.offers-listing-1 .offer-link {
    background: var(--e-global-color-f79e654);
}

.offers-listing-1 .offer .offer-description,
.offers-listing-1 .offer .offer-includes {
    margin-right: 0;
    padding: 0 35px 20px;
}

@media (max-width:1024px) {
    .offers-listing-1 .offer {
        width: 45%;
    }
}

@media (max-width:820px) {
    .offers-listing-1 .offers-listing {
        padding-left: 0;
    }
    .offers-listing-1 .offer {
        width: 100%;
    }
}

@media (max-width:767px) {
    .offers-listing-1 .offer .offer-photo {
        width: 100%;
        height: 150px;
    }
    .offers-listing-1 .offer .offer-title {
        padding: 25px 0 0;
    }
    .offers-listing-1 .offer .offer-description,
	.offers-listing-1 .offer .offer-includes {
        padding: 0 0 20px;
    }
    .offers-listing-1 .offer .offer-button {
        margin: 20px 0;
    }
    .offers-listing .offer .offer-title {
        text-align: left;
    }
}

/* OFFER TEMPLATE 2 */
.offers-listing-2 .offer .offer-intro,
.offers-listing-2 .offer .offer-date-range {
    background-color: var(--e-global-color-52235058);
}

.offers-listing-2 .offer .offer-photo {
    position: relative;
    width: 100%;
    height: 200px;
}

.offers-listing-2 .offer .offer-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.offers-listing-2 .offer .offer-deco {
    background-color: var(--e-global-color-primary);
}

.offers-listing-2 .offer-deco i::before {
    content: "\ea7a";
    color: var(--e-global-color-eff34ee);
}

.offers-listing-2 .offer .offer-description {
    padding: var(--mft-space-xs);
}

.offers-listing-2 .offer .offer-box {
    background-color: var(--e-global-color-f79e654);
}

.offers-listing-2 .offer .offer-box span,
.offers-detail-wrapper .offer .offer-box span {
    font-family: var(--e-global-typography-fcce242-font-family);
    font-size: var(--e-global-typography-fcce242-font-size);
    font-weight: var(--e-global-typography-fcce242-font-weight);
    line-height: var(--e-global-typography-fcce242-line-height);
    color: var(--e-global-color-text);
}

.rooms-listing-2 .room-box .room-detail .price-box .last-booking {
    padding: 5px;
    color: var(--e-global-color-text);
    background: #ffffffba;
}

@media (min-width:1025px) {
    .offers-listing-2 .offers-listing .offer {
        width: 33%;
    }
}

/* OFFER TEMPLATE 4 */
.offers-listing-4 .offer-text {
    text-align: center;
}

.offers-listing-4 .offer .offer-box {
    min-height: 400px;
    transition: .3s ease-in-out;
}

.offers-listing-4 .offer .offer-box img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.offers-listing-4 .offer .offer-box:hover {
    box-shadow: 0px 0px 9px #00000047;
}

.offers-listing-wrapper.offers-listing-4 {
    padding-bottom: var(--mft-space-xl);
}

/* OFFER TEMPLATE 5 */
.offers-listing-5 .offer .offer-link,
.offers-detail-wrapper.offer-detail-5 .offer-wrapper {
    background: var(--e-global-color-f79e654) !important;
    transition: .3s ease-in-out;
}

.offers-listing-5 .offer .offer-link *,
.offers-detail-wrapper.offer-detail-5 .offer-wrapper {
    color: var(--e-global-color-text) !important;
}

.offers-listing-5 .offer .offer-link:hover {
    box-shadow: 0px 0px 9px #00000047 !important;
}

.offers-listing-5 .offer .offer-link::before {
    opacity: 0 !important;
}

.offers-listing-5 .offer .offer-title,
.offers-detail-wrapper.offer-detail-5 .offer-wrapper .offer-title {
    border-bottom: 2px solid var(--e-global-color-text) !important;
}

.offers-listing-5 .offer .offer-content i::before,
.offers-detail-wrapper.offer-detail-5 .offer-wrapper .offer-title i::before {
    content: "\e997";
    color: var(--e-global-color-text);
}

.offers-listing-5 .offer .offer-date-range {
    left: 30px;
    font-weight: 600;
}

.offers-listing-5 .offer .offer-date-range i::before {
    content: "\e9e2";
    color: var(--e-global-color-primary);
}

.offers-listing-5 .offer .offer-title::after {
    display: none;
}

@media (min-width:1025px) {
    .offers-listing-5 .offers-listing .offer {
        width: 33%;
    }
}

/***** ROOM DETAILS *****/
.calendar-wrapper.calendar-type1 {
    border-top: 0;
}

.rooms-detail-wrapper .room-box-services h3,
.rooms-detail-wrapper h3 {
    margin-bottom: 40px;
}

.rooms-detail-wrapper h4 {
    font-family: var(--e-global-typography-962030d-font-family), Sans-serif;
    font-size: var(--e-global-typography-962030d-font-size);
    font-weight: var(--e-global-typography-962030d-font-weight);
    line-height: var(--e-global-typography-962030d-line-height);
}

.rooms-detail-wrapper h2 {
    padding-bottom: var(--mft-space-s);
}

.rooms-detail-wrapper .room-box-detail,
.rooms-detail-wrapper .room-box-price {
    background-color: transparent !important;
}

.rooms-detail-wrapper .room-box-services,
.rooms-detail-wrapper .room-box-common-services {
    padding: 15px 0px;
}

.rooms-detail-wrapper .room-box-services {
    display: flex;
    position: relative;
    z-index: 1;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/*.rooms-detail-wrapper .room-box-services::after {
    content: "";
    position: absolute;
    top: -5vh;
    left: 0;
    left: -10vw;
    z-index: 0;
    width: 110vw;
    height: 50vh;
    background: var(--e-global-color-47eea86e);
}*/

.rooms-detail-wrapper .room-box-services ul {
    column-count: 3;
    width: 80% !important;
    padding-left: 8%;
}

.rooms-detail-wrapper .room {
    padding: 20vh 0;
}

.rooms-detail-wrapper .room-box-description,
.rooms-detail-wrapper .room-box-price {
    width: 100%;
	text-align: center;
}

.rooms-detail-5 .offers-listing-1 {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}

.rooms-detail-5 .offers-listing-1 .offer {
    width: 48%;
}

.rooms-detail-5 .room-box-offers .elementor-container .offer-list-wrapper {
    background: transparent;
}

/*.rooms-detail-5 .room-box-offers {
    font-size: 20px !important;
    font-weight: var(--e-global-typography-fcce242-font-weight);
    line-height: var(--e-global-typography-fcce242-line-height);
    background: var(--e-global-color-f79e654);

    }*/

/***** OFFER DETAILS *****/
.offers-detail-wrapper.offer-detail-1 .offer-features-wrapper .offer-boxes-wrapper .offer-box span, 
.offers-detail-wrapper.offer-detail-1 .offer-features-wrapper .offer-boxes-wrapper .offer-box meta {
    font-family: var(--e-global-typography-fcce242-font-family);
}

.offers-detail-wrapper.offer-detail-1 .offer-photo {
    width: 230px;
}

.offers-detail-wrapper .offer-photo {
    width: auto;
}

.offers-detail-wrapper.offer-detail-2 .offer-wrapper {
    float: none;
}

.offers-detail-wrapper.offer-detail-2 .offer {
    margin: 55px auto;
}

.offer-detail-5 .offer-wrapper .offer-title i.eci {
    display: inline;
    margin: 0 15px 0 0;
    font-size: 25px;
}

/************************************************************************************************/

/************************************************************************************************/

/************************************************************************************************/

/***** STYLES JOSB PAGE - SINGLE POST JOB *****/

/* list job - pag work us */
.job_filters .search_jobs {
    margin-bottom: 80px;
    padding: 0;
}

.job_filters .search_jobs div.search_keywords,
.job_filters .search_jobs div.search_location {
    float: left;
    width: 25%;
}

ul.job_listings {
    border: none;
}

ul.job_listings li {
    margin-bottom: 40px !important;
}

ul.job_listings li.job_listing a div.location {
    float: right;
    font-size: 23px !important;
    text-align: right !important;
}

ul.job_listings .job-manager-applications-applied-notice {
    font-size: 20px;
}

ul.job_listings li.job_listing a div.position {
    padding: 0;
}

/* individual post job */
.single_job_listing .meta li {
    font-size: 14px;
    color: var(--e-global-color-text);
}

.single_job_listing .company {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    box-shadow: none;
}

.single_job_listing .company .company_header {
    padding-left: 15px;
}

.single_job_listing .company .company_header {
    min-height: 0;
    margin: 0;
}

.single_job_listing p {
    padding-bottom: 10px;
}

.job_application input.application_button.button,
.job_application .button.wp_job_manager_send_application_button {
    font-family: var(--e-global-typography-6d2edf1-font-family);
    font-size: var(--e-global-typography-6d2edf1-font-size);
    font-weight: var(--e-global-typography-6d2edf1-font-weight);
    line-height: var(--e-global-typography-6d2edf1-line-height);
    letter-spacing: var(--e-global-typography-6d2edf1-letter-spacing);
    text-transform: var(--e-global-typography-6d2edf1-text-transform);
    transition: background .3s ease;
}

.job_application input.application_button.button {
    padding: var(--mft-space-xs) var(--mft-space-xs);
    color: var(--e-global-color-47eea86e);
    background-color: var(--e-global-color-primary);
    border: 0;
}

input.button.wp_job_manager_send_application_button {
    padding: var(--mft-space-3xs) var(--mft-space-3xs);
    color: var(--e-global-color-13f4851a);
    background-color: transparent;
    border: 2px solid;
}

@media (min-width: 1025px) {
    .job_application input.application_button.button:hover {
        background-color: var(--e-global-color-13f4851a);
    }
    input.button.wp_job_manager_send_application_button:hover {
        color: var(--e-global-color-47eea86e);
        background-color: var(--e-global-color-13f4851a);
        border: 2px solid var(--e-global-color-13f4851a);
    }
}

.single_job_listing .job-manager-applications-applied-notice {
    background: var(--e-global-color-610777e);
}

form.job-manager-application-form.job-manager-form {
    padding-top: 35px;
}

@media (max-width: 767px) {
    .job_filters .search_jobs {
        margin-bottom: 40px;
    }
    .job_filters .search_jobs div.search_keywords, 
	.job_filters .search_jobs div.search_location {
        width: 100%;
    }
    ul.job_listings .job-manager-applications-applied-notice {
        display: block;
        float: unset;
        padding: 16px 0;
    }
    ul.job_listings li.job_listing a div.position {
        padding-bottom: 16px;
    }
}

/* END */

/**************************************/

/*********** IMPROVEMENTS ***********/
/********** MFT DYNAMIC ALTERNATIVE BOXES **********/
/* 
  Use CSS Custom Properties for a robust alternating layout.
  This works even with other elements between the boxes.
*/
.mft-wrapper-alternative-box {
    --mft-direction: row;

    /* Set default direction */
}

.mft-wrapper-alternative-box .mft-alternative-box {
    flex-direction: var(--mft-direction);
}

/* For every .mft-alternative-box that has another one before it, flip the direction */
.mft-wrapper-alternative-box .mft-alternative-box ~ .mft-alternative-box {
    --mft-direction: row-reverse;
}

/*Match the height of all boxes*/
.mft-alternative-box .mft-alternative-box__content {
    min-height: 70vh;
}

/*Overwrite the height of all boxes from tablet onwards, max height set to auto*/
@media (max-width: 1024px) {
    .mft-alternative-box .mft-alternative-box__content {
        min-height: auto;
    }
}

@media (max-width: 1023px) {
    /*Flex-direction change on tablet downwards*/
	.mft-wrapper-alternative-box .mft-alternative-box {
        flex-direction: column;
    }
}

/*LIST STYLE PARAGRAPHS*/
.mft-list-style-paragraphs ul li {
    margin-bottom: 5px;
    overflow-wrap: break-word;
    list-style: disc inside none;
}

/************************************/
/*------------POPUPS---------------*/

/*------------STYLES FOR POPUPS-------------*/
/*Social icon background on hover*/
.elementor-popup-modal .elementor-social-icon:hover,
.mft-wrapper-footer .elementor-social-icon:hover {
    background-color: var(--e-global-color-primary) !important;
}

/*Social icon color on hover*/
.elementor-popup-modal .elementor-social-icon:hover i:before,
.mft-wrapper-footer .elementor-social-icon:hover i:before {
    color: var(--e-global-color-47eea86e);
}

/*Close popup icon color on hover*/
.elementor-popup-modal .btn-close-popup:hover a {
    color: var(--e-global-color-primary) !important;
}

/*Contact link color on hover*/
.mft-links-container a:hover {
    color: var(--e-global-color-primary) !important;
}

/* estilos mi reserva*/
.mft-popup-menu [data-role="content"] {
    padding-left: 25px;
    font-family: var(--e-global-typography-5c843f5-font-family), Sans-serif;
    font-size: var(--e-global-typography-5c843f5-font-size);
    font-weight: var(--e-global-typography-5c843f5-font-weight);
    line-height: var(--e-global-typography-5c843f5-line-height);
    color: var(--e-global-color-47eea86e);
}

.mft-popup-menu [data-role="content"]:hover {
    color: var(--e-global-color-primary);
}

/* icono candado mi reserva */
.mft-popup-menu [data-role="content"]:before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill=""><path fill-rule="evenodd" clip-rule="evenodd" d="M7.49994 1.81824C6.09369 1.81824 4.99994 2.94324 4.99994 4.31824V6.31824H9.99994V4.31824C9.99994 2.94324 8.87494 1.81824 7.49994 1.81824ZM3.49994 4.31824C3.49994 2.13074 5.28119 0.318237 7.49994 0.318237C9.68744 0.318237 11.4999 2.13074 11.4999 4.31824V6.31824H12.4999C13.5937 6.31824 14.4999 7.22449 14.4999 8.31824V14.3182C14.4999 15.4432 13.5937 16.3182 12.4999 16.3182H2.49994C1.37494 16.3182 0.499939 15.4432 0.499939 14.3182V8.31824C0.499939 7.22449 1.37494 6.31824 2.49994 6.31824H3.49994V4.31824ZM2.49994 7.81824C2.21869 7.81824 1.99994 8.06824 1.99994 8.31824V14.3182C1.99994 14.5995 2.21869 14.8182 2.49994 14.8182H12.4999C12.7499 14.8182 12.9999 14.5995 12.9999 14.3182V8.31824C12.9999 8.06824 12.7499 7.81824 12.4999 7.81824H2.49994ZM8.24994 10.3182V12.3182C8.24994 12.7557 7.90619 13.0682 7.49994 13.0682C7.06244 13.0682 6.74994 12.7557 6.74994 12.3182V10.3182C6.74994 9.91199 7.06244 9.56824 7.49994 9.56824C7.90619 9.56824 8.24994 9.91199 8.24994 10.3182Z" fill="%23ffff"></path></svg>');
    position: absolute;
    top: 3px;
    left: 0;
    width: 18px;
    height: 18px;
}

/*Color of WPML languages in main menu*/
.elementor-popup-modal .wpml-ls-legacy-dropdown-click a {
    padding: 1px 10px 1px 25px;
    color: var(--e-global-color-47eea86e);
    border: none;
}

/*Color of WPML languages in submenu*/
.elementor-popup-modal .wpml-ls-sub-menu a {
    color: var(--e-global-color-text);
}

/*Color of current language*/
.elementor-popup-modal .wpml-ls-legacy-dropdown-click a.wpml-ls-link {
    padding: 7px 10px 7px 10px;
    text-align: center;
    background-color: var(--e-global-color-47eea86e);
}

/*Transition color of accordion*/
.elementor-widget-n-accordion .e-n-accordion-item-title {
    transition: color 0.3s;
}

/*Color of divider in popup menu*/
.elementor-popup-modal .mft-dividing-line-items .mft-item-header:not(:last-child):not(:only-child)::after {
    right: -8px;
    background-color: var(--e-global-color-47eea86e);
}

/*Divider on header */
@media (max-width: 1024px) {
    .elementor-popup-modal .mft-dividing-line-items .mft-item-header:not(:last-child):not(:only-child)::after {
        right: -10px;
    }
    .elementor-popup-modal .elementor-icon-box-content .elementor-icon-box-title {
        display: none;
    }
}

.elementor-popup-modal .mft-dividing-line-items .mft-item-header:not(:last-child):not(:only-child)::before {
    display: none;
}

/**/

/* CUSTOM CSS */
