/*
 Theme Name:   Serhs Natal Theme
 Theme URI:    https://liftingroup.com/
 Description:  Tema personalizado para el proyecto de Serhs Natal
 Author:       Lifting Group
 Template:     naked-wordpress-master
 Version:      1.0.3
*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
:root{
    /* FUENTES */
    --font-title: "Playfair Display", serif;
    --font-default: "Montserrat", sans-serif;
    /* COLORES */
    --color-1: #525357;
    --color-2: #B8A328;
    --color-3: #000;
    --color-4: #FFF;
    --color-5: rgba(248, 248, 242, 0.93);
    /* TAMAÑOS FUENTES */
    --font-size-title-display-big: clamp(60px, 4.5vw, 80px);
    --font-size-title-display: clamp(48px, 2.5vw, 68px);
    --font-size-title: clamp(27px, 2.5vw, 42px);
    --font-size-text-big: clamp(20px, 1.2vw, 28px);
    --font-size-text-footer: clamp(10px, 1.2vw, 20px);
    --font-size-button: clamp(18px, 1.2vw, 26px);
    --font-size-title-little: clamp(16px, 1vw, 22px);
    --font-size-text: clamp(13px, 1vw, 16px);
    --font-size-text-little: clamp(14px, 0.9vw, 18px);
    --font-size-text-small: clamp(11px, 0.8vw, 15px);
    /*
    --font-size-title-display-big: clamp(60px, 4.5vw, 80px);
    --font-size-title-display: clamp(50px, 2.5vw, 70px);
    --font-size-title: clamp(35px, 2.5vw, 55px);
    --font-size-text-big: clamp(22px, 1.2vw, 30px);
    --font-size-button: clamp(20px, 1.2vw, 28px);
    --font-size-title-little: clamp(17px, 1vw, 24px);
    --font-size-text: clamp(16px, 1vw, 22px);
    --font-size-text-little: clamp(15px, 0.9vw, 20px);
    --font-size-text-small: clamp(11px, 0.8vw, 16px);
    */
    /* TAMAÑOS INTERLINEADOS */
    --line-height-title-display-big: clamp(55px, 4.5vw, 78px);
    --line-height-title-display: clamp(50px, 2.7vw, 70px);
    --line-height-title: clamp(40px, 2.7vw, 60px);
    --line-height-text-big: clamp(27px, 1.4vw, 38px);
    --line-height-button: 1;
    --line-height-title-little: clamp(21px, 1.2vw, 30px);
    --line-height-text: clamp(21px, 1.4vw, 28px);
    --line-height-text-little: clamp(22px, 1.1vw, 26px);
    --line-height-text-small: clamp(16px, 0.9vw, 20px);
    /* CONTAINER */
    --container: 80%;
}
*,
p,
ul,
li,
ol,
a{
    font-family: var(--font-default);
    margin: 0px;
}
h1,
h2,
h3,
h4,
h5,
h6{
    font-family: var(--font-title);
    margin: 0px;
}
.row-fluid [class*="span"]{
    width: 100% !important;
    margin-left: 0% !important;
}
article .the-content p{
    text-align: left;
    font-size: var(--font-size-text);
    line-height: var(--line-height-text);
    color: var(--color-1) !important;
    font-weight: 400;
}
article .the-content p > strong{
    font-weight: 700;
    color: inherit !important;
    font-size: var(--font-size-text);
    line-height: var(--line-height-title-little);
}
.container,
.main-fluid{
    width: 90% !important;
    max-width: var(--container);
    padding: 0px !important;
}
.vc_col-has-fill>.vc_column-inner,
.vc_row-has-fill+.vc_row-full-width+.vc_row>.vc_column_container>.vc_column-inner,
.vc_row-has-fill+.vc_row>.vc_column_container>.vc_column-inner,
.vc_row-has-fill+.vc_vc_row>.vc_row>.vc_vc_column>.vc_column_container>.vc_column-inner,
.vc_row-has-fill+.vc_vc_row_inner>.vc_row>.vc_vc_column_inner>.vc_column_container>.vc_column-inner,
.vc_row-has-fill>.vc_column_container>.vc_column-inner,
.vc_row-has-fill>.vc_row>.vc_vc_column>.vc_column_container>.vc_column-inner,
.vc_row-has-fill>.vc_vc_column_inner>.vc_column_container>.vc_column-inner,
.vc_section.vc_section-has-fill, .vc_section.vc_section-has-fill+.vc_row-full-width+.vc_section,
.vc_section.vc_section-has-fill+.vc_section{
    padding-top: 0px !important;
}
article{
    margin-bottom: 0px !important;
}
/* FOOTER */
.site-footer{
    padding-bottom: 0px !important;
    background: var(--color-3);
    overflow-x: hidden;
}
.site-footer *,
.site-footer a{
    color: #FFF;
    transition: 0.5s;
}
.site-footer a:hover{
    color: var(--color-2);
}
.site-footer ul{
    list-style: none;
    display: flex;
    padding: 0;
    margin: 0;
    justify-content: space-evenly;
    align-items: center;
    flex-direction: row;
    align-content: center;
}
.site-footer li{
    line-height: 1;
}
.footer-4-1 .menu-item a{
    font-size: var(--font-size-text-small);
    line-height: var(--line-height-text-small);
    font-weight: 400;
}
.footer-4-1{
    border-top: 1px solid rgba(255, 255, 255, 0.20);
    padding-top: 15px;
    padding-bottom: 20px;
}
.footer-widgets{
    display: grid;
    grid-template-columns: 1fr;
}
.footer-row-3{
    display: grid !important;
    grid-template-columns: repeat(4, auto) !important;
    justify-content: space-between;
    width: 100%;
    margin-top: 25px;
    margin-bottom: 35px;
}
.footer-row-3 .footer-column{
    width: auto !important;
}
.footer-row-3 .footer-column{
    display: flex;
    justify-content: center;
    align-items: flex-start; /* 🔥 alinha todos pelo topo */
}

.footer-row-3 .font-data-info{
    display: flex;
    align-items: center;
    gap: 10px;
}
/* Ajuste específico redes sociais */
.footer-3-3 .font-data-info{
    gap: 6px; /* controla espaço geral */
}

.footer-3-3 .font-data-info a{
    margin: 0 4px; /* espaço fino entre ícones */
}
.footer-row-3 .font-data-info i{
    margin-right: 2px !important;
}
.footer-3-3 .font-data-info a{
    margin: 0 2px !important; /* controla espaço entre ícones */
}
.footer-row-3 .footer-widget{
    width: 100% !important;
}

/* Tablet */
@media (max-width: 1024px){
    .footer-row-3{
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px;
    }
}

/* Celular */
@media (max-width: 768px){

    .footer-row-3{
        grid-template-columns: 1fr !important;
        text-align: center;
    }

    /* Centraliza apenas os 3 primeiros blocos */
    .footer-3-0 .font-data-info,
    .footer-3-1 .font-data-info,
    .footer-3-2 .font-data-info{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
    }

    /* Mantém redes sociais em linha */
    .footer-3-3 .font-data-info a{
        display: inline-block;
        margin: 5px 8px;
    }
	/* Centraliza redes sociais no mobile */
    .footer-3-3 .font-data-info{
        justify-content: center !important;
    }
}
.footer-row-3 *{
    font-size: var(--font-size-text-little);
    line-height: var(--line-height-text-little);
}
.footer-row-3 .font-data-info{
    font-weight: 300;
}
.footer-row-3 i{
    color: var(--color-2);
    font-size: var(--font-size-title-little);
    line-height: 1;
    position: relative;
    top: 2px;
}
.footer-row-2{
    display: grid;
    grid-template-columns: 1fr 6fr;
    grid-gap: 60px;
    border-top: 1px solid rgba(255, 255, 255, 0.20);
    padding-top: 30px;
}
.footer-2-2{
    display: flex;
}
.footer-2-2 > .footer-widget{
    margin: auto 0px auto auto;
    width: 100%;
}
.footer-2-2 ul.menu{
    justify-content: space-between;
}
.footer-2-2 ul.menu a{
    font-family: var(--font-title);
    font-size: var(--font-size-text-footer);
    line-height: var(--line-height-text-big);
}
.footer-3-1 i,
.footer-3-2 i{
    margin-right: 10px;
}
.footer-2-1{
    width: 130px;
}
.footer-row-1{
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-top: 55px;
    padding-bottom: 45px;
}
.footer-1-1 p{
    font-size: var(--font-size-text-big);
    line-height: var(--line-height-text-big);
    font-weight: 400;
    font-family: var(--font-title);
    text-align: left;
}
.footer-1-2 .wpcf7-email{
    font-size: var(--font-size-title-little);
    line-height: 1;
    font-weight: 400;
    font-family: var(--font-title);
    color: var(--color-4) !important;
    background: none !important;
    border: none !important;
    border-bottom: 1px solid var(--color-4) !important;
    border-radius: 0px !important;
    outline: none !important;
    padding: 15px 0px;
    max-width: 260px;
}
.footer-1-2 .wpcf7-email::placeholder{
    color: var(--color-4) !important;
}
.button-default{
    background: var(--color-2) !important;
    border: 1px solid var(--color-2) !important;
    transition: 0.5s;
    color: var(--color-4) !important;
    text-transform: uppercase;
    border-radius: 0px !important;
    font-size: var(--font-size-text-little) !important;
    line-height: var(--line-height-button) !important;
    font-family: var(--font-title);
    outline: none !important;
    padding: 15px 35px !important;
}
.button-default:hover{
    background: var(--color-3) !important;
    color: var(--color-4) !important;
}
.footer-1-2 .wpcf7-form br{
    display: none !important;
}
.footer-1-2 .wpcf7-form label,
.footer-1-2 .wpcf7-form .wpcf7-submit{
    float: left;
}
.footer-1-2 .wpcf7-form .wpcf7-submit{
    margin-left: 15px;
}
.footer-1-2 .wpcf7-form .wpcf7-spinner{
    position: absolute;
    right: -55px;
}
.footer-1-2 .wpcf7-form p{
    float: right;
}
.footer-1-1{
    display: flex;
}
.footer-1-1 > .footer-widget{
    height: auto;
    margin-top: auto;
    margin-bottom: auto;
}
.wpb_button,
.wpb_content_element,
ul.wpb_thumbnails-fluid>li,
.info-wrapper.ult-adjust-bottom-margin,
.smile_icon_list_wrap.ult-adjust-bottom-margin,
.uavc-list-icon-wrapper.ult-adjust-bottom-margin,
.ubtn-ctn-center,
.ubtn-ctn-left,
.ubtn-ctn-right,
.ubtn-img-container,
.ult-banner-block.ult-adjust-bottom-margin,
.ult-modal-input-wrapper.ult-adjust-bottom-margin,
.ult_dual_button.ult-adjust-bottom-margin,
.ultb3-box.ult-adjust-bottom-margin,
.ultimate-call-to-action.ult-adjust-bottom-margin,
.ultimate-google-trends.ult-adjust-bottom-margin,
.ultimate-map-wrapper.ult-adjust-bottom-margin,
.uvc-type-wrap.ult-adjust-bottom-margin,
html .ult-ih-container.ult-adjust-bottom-margin,
html .ult_exp_section_layer.ult-adjust-bottom-margin,
html .ult_hotspot_container.ult-adjust-bottom-margin,
html .ult_main_cl.ult-adjust-bottom-margin{
    margin-bottom: 0px !important;
}
.center-div-info > .vc_column-inner{
    margin-top: auto;
    margin-bottom: auto;
}
.space-div-left > .vc_column-inner{
    padding-left: 100px !important;
}
.space-div-right > .vc_column-inner{
    padding-right: 100px !important;
}
.background-and{
    background-image: url(https://icidigital.eu/serhsnatal/wp-content/uploads/2025/04/unnamed-file.png);
    background-size: 300px;
    background-repeat: no-repeat;
    background-position: 100% 0%;
}
/*
.image-after{
    position: relative;
}
.image-after:after{
    content: "";
    position: absolute;
    background-size: cover;
    width: 100%;
    height: 100%;
    left: calc(-100% - 15px);
}
.image-after:before{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: calc(-100% - 15px);
    background: #F8F8F2C9;
    z-index: 1;
}
.image-after-1:after{
    background-image: url(https://icidigital.eu/serhsnatal/wp-content/uploads/2025/04/hotel-image-2.jpg);
}*/

.title-display-big,
.title-display-big *,
article .the-content p.title-display-big,
article .the-content .title-display-big p{
    font-size: var(--font-size-title-display-big) !important;
    line-height: var(--line-height-title-display-big) !important;
    color: var(--color-4) !important;
    font-weight: 400 !important;
    font-family: var(--font-title) !important;
}
.title-display,
.title-display *,
article .the-content p.title-display,
article .the-content .title-display p{
    font-size: var(--font-size-title-display) !important;
    line-height: var(--line-height-title-display) !important;
    color: var(--color-3) !important;
    font-weight: 400 !important;
    font-family: var(--font-title) !important;
}
.title-title,
.title-title *,
article .the-content p.title-title,
article .the-content .title-title p{
    font-size: var(--font-size-title) !important;
    line-height: var(--line-height-title) !important;
    color: var(--color-3) !important;
    font-weight: 400 !important;
    font-family: var(--font-title) !important;
}
.title-little,
.title-little *,
article .the-content p.title-little,
article .the-content .title-little p{
    font-size: var(--font-size-title-little) !important;
    line-height: var(--line-height-title-little) !important;
    color: var(--color-2) !important;
}
.pie-foto,
.pie-foto *,
article .the-content p.pie-foto,
article .the-content .pie-foto p{
    font-size: var(--font-size-title-little) !important;
    line-height: var(--line-height-title-little) !important;
    font-family: var(--font-title) !important;
}
.text-big,
.text-big *,
article .the-content p.text-big,
article .the-content .text-big p{
    font-size: var(--font-size-text-big) !important;
    line-height: var(--line-height-text-big) !important;
    font-family: var(--font-title) !important;
    color: var(--color-3) !important;
    font-weight: 700 !important;
}

.cabecera{
    height: 100vh;
    display: flex;
    position: relative;
    background-position: 50% 50% !important;
    background-size: cover !important;
    flex-direction: column !important;
    z-index: 1;
    overflow: visible;
}
.cabecera:before{
    content: "";
    background: #0000008C;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.cabecera > .cabecera-container{
    margin: auto;
    z-index: 2;
}
.cabecera > .cabecera-container .title-little{
    margin-bottom: 20px;
}

.text-line-right p{
    position: relative;
}
.text-line-right p:after{
    content: "";
    height: 1px;
    width: 92px;
    background: rgba(194, 167, 18, 0.30);
    position: absolute;
    top: 12px;
    margin-left: 25px;
}
.slider-text{
    width: calc(50% - 100px) !important;
}
.slider-image{
    width: calc(50% + 100px) !important;
    margin-top: -500px;
}
.slider-text > .vc_column-inner{
    /*width: calc(calc(var(--container) / 2) - 100px) !important;*/
    width: 80% !important;
    margin-left: auto;
}
.slider-text > .vc_column-inner > .wpb_wrapper{
    padding-right: 75px;
    padding-left: 20px;
}
.section-carruseles-hotel:before,
.section-carruseles-hotel:after{
    display: none !important;
}
.section-carruseles-hotel .slider-image{
    padding-top: 6vh;
}
.slider-image .slick-slide{
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-gap: 15px;
}
.slider_exp_izquierda .slider-image .slick-slide {
    display: grid;
    
    grid-template-columns: 2fr 1fr;
    grid-gap: 15px;
}
.slider-image .slick-slide:before,
.slider-image .slick-slide:after{
    display: none !important;
}
.slider-image .slick-slide > .wpb_column{
    width: 100% !important;
}
.slider-image .slick-dots,
.slider-spa .slick-dots,
.slider-img-hab .slick-dots,
.slider-opinion .slick-dots{
    display: flex;
    justify-content: space-between;
}
.slider-image .slick-dots{
    max-width: 70%;
}
.slider-spa .slick-dots, 
.slider-opinion .slick-dots{
    max-width: calc(100% - 120px);
    margin-top: 25px;
}
.slider-image .slick-dots > li,
.slider-spa .slick-dots > li,
.slider-img-hab .slick-dots > li,
.slider-opinion .slick-dots > li{
    flex-grow: 1;
    text-align: center;
    margin: 0px;
    padding: 0px;
    list-style: none !important;
}
.slider-image .slick-dots > li > button,
.slider-spa .slick-dots > li > button,
.slider-img-hab .slick-dots > li > button,
.slider-opinion .slick-dots > li > button{
    width: 100%;
    font-size: 0px !important;
    box-shadow: none !important;
    background: var(--color-2);
    height: 3px;
    top: 0px;
    position: relative;
    border-radius: 0px !important;
    outline: none !important;
}
.slider-image .slick-dots > li.slick-active ~ li:not(.slick-active) > button,
.slider-spa .slick-dots > li.slick-active ~ li:not(.slick-active) > button,
.slider-img-hab .slick-dots > li.slick-active ~ li:not(.slick-active) > button,
.slider-opinion .slick-dots > li.slick-active ~ li:not(.slick-active) > button{
    background: rgba(82, 83, 87, 0.20);
    height: 1px;
    top: -1px;
}
.slider-image .slick-arrow,
.slider-spa .slick-arrow,
.slider-img-hab .slick-arrow,
.slider-opinion .slick-arrow{
    font-size: 0px !important;
    outline: none !important;
    box-shadow: none !important;
    transition: 0.5s;
    position: absolute;
    bottom: 7px;
    background: none !important;
    line-height: 1;
}
.slider-image .slick-arrow:after,
.slider-spa .slick-arrow:after,
.slider-img-hab .slick-arrow:after,
.slider-opinion .slick-arrow:after{
    content: "\f053";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 20px;
    color: var(--color-3) !important;
}
.slider-image .slick-arrow.slick-next:after,
.slider-spa .slick-arrow.slick-next:after,
.slider-img-hab .slick-arrow.slick-next:after,
.slider-opinion .slick-arrow.slick-next:after{
    content: "\f054";
}
.slider-image .slick-arrow.slick-disabled,
.slider-spa .slick-arrow.slick-disabled,
.slider-img-hab .slick-arrow.slick-disabled,
.slider-opinion .slick-arrow.slick-disabled{
    opacity: 0.2;
}
.slider-image .slick-arrow.slick-prev{
    left: calc(80% - 40px);
}
.slider-image .slick-arrow.slick-next{
    left: 80%;
}
.slider-spa .slick-arrow.slick-next,
.slider-opinion .slick-arrow.slick-next{
    right: 0px;
}
.slider-spa .slick-arrow.slick-prev,
.slider-opinion .slick-arrow.slick-prev{
    right: 40px;
}

.slider-image .wpb_column{
    display: flex;
}
.slider-image .wpb_column > .vc_column-inner{
    height: max-content;
    margin-top: auto;
}
.slider-image img{
    object-fit: cover;
}
.slider-image .slick-slide .vc_figure,
.slider-image .slick-slide .vc_figure *{
    width: 100% !important;
}
.slider-image .slick-slide > .wpb_column:nth-child(1) img{
    height: 155px;
}
.slider-image .slick-slide > .wpb_column:nth-child(2) img{
    height: 640px;
}
.slider-image .slick-track{
    margin-bottom: 35px;
}
.faqs-questions .ult_exp_section{
    text-align: left !important;
    background: var(--color-4) !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}
.faqs-questions .ult_exp_section .ult_expheader{
    font-size: var(--font-size-text-little);
    line-height: var(--line-height-text-little);
    font-weight: bold;
    color: var(--color-3);
    position: relative;
}
.faqs-questions .ult_exp_section .ult_expheader:after{
    content: "\2b";
    color: var(--color-2);
    position: absolute;
    top: -1px;
    right: 0px;
    font-size: var(--font-size-title) !important;
    font-weight: 900;
    font-family: "Font Awesome 6 Free";
}
.ult_exp_section .aio-icon,
.ult_expheader,
.ult_expsection_icon {
    text-transform: none !important;
}
.faqs-questions .ult_exp_section.ult_active_section .ult_expheader:after{
    content: "\f068";
}
.faqs-questions .ult_exp_content .wpb_content_element *{
    font-size: var(--font-size-text-little);
    line-height: var(--line-height-text-little);
    font-weight: 400;
    color: var(--color-3);
}
.faqs-questions .ult_exp_content{
    background: var(--color-4) !important;
    padding-top: 0px !important;
}
.faqs-questions .ult_ecpsub_cont{
    border-top: 1px solid #52535769;
    padding-top: 15px;
}
body .y-left-background{
    background-size: 400px !important;
    background-repeat: no-repeat !important;
    background-position: 0% -15px !important;
}
body .y-right-background{
    background-size: 400px !important;
    background-repeat: no-repeat !important;
    background-position: 100% -15px !important;
}
body .y-left-background-dark{
    background-size: 200px !important;
    background-repeat: no-repeat !important;
    background-position: 75% 20% !important;
}
/* OTROS ASPECTOS DE LA PÁGINA */
.overflow-visible{
    overflow: visible !important;
}
/* GALERÍA */
.section-galeria-results{
    width: 100%;
    float: left;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 15px;
}
.galeria-item{
    line-height: 0;
    cursor: pointer;
}
.galeria-item > img{
    aspect-ratio: 1/0.9;
    object-fit: cover;
}
.galeria-search > form > ul > li > ul input{
    display: none !important;
}
.galeria-search > form > ul > li > ul label{
    font-size: var(--font-size-button);
    line-height: var(--line-height-button);
    font-family: var(--font-title);
    color: var(--color-3);
    padding-left: 0px !important;
    cursor: pointer;
    position: relative;
    transition: 0.5s;
}
.galeria-search > form > ul > li > ul label:after{
    content: "";
    background: var(--color-2);
    width: 100%;
    height: 3px;
    position: absolute;
    bottom: -39px;
    left: 0px;
    transition: 0.5s;
    opacity: 0;
}
.galeria-search > form > ul > li > ul li:not(.sf-option-active) label:hover:after{
    opacity: 0.8;
}
.galeria-search > form > ul > li > ul li.sf-option-active label:after{
    opacity: 1;
}
.galeria-search > form > ul > li > ul li:not(.sf-option-active) > label{
    color: var(--color-1);
    opacity: 0.4;
}
.galeria-search > form > ul > li > ul li.sf-level-0{
    float: left;
}
.galeria-search > form > ul > li > ul li.sf-level-0:not(:first-child){
    margin-left: 25px;
}
.galeria-search .searchandfilter ul li li{
    padding: 0px;
    line-height: 1;
}
.galeria-search .searchandfilter ul li{
    padding: 0px;
}
.galeria-search{
    float: left;
    width: 100%;
    margin-bottom: 75px;
    padding-bottom: 35px;
    border-bottom: 1px solid #52535733;
}
.galeria-results .pagination{
    float: left;
    width: 100%;
    display: flex;
    margin-top: 65px;
}
.galeria-results .pagination > .wp-pagenavi{
    margin-left: auto;
    margin-right: auto;
    display: flex;
    gap: 20px;
}
.galeria-results .pagination > .wp-pagenavi .pages{
    display: none !important;
}
.galeria-results .pagination > .wp-pagenavi a,
.galeria-results .pagination > .wp-pagenavi span.current{
    font-family: var(--font-default) !important;
    font-size: var(--font-size-button);
    line-height: var(--line-height-button);
    color: var(--color-3);
    font-weight: 400;
    border: 1px solid #D9D9D938;
    border-radius: 50px;
    width: 41px;
    height: 41px;
    display: flex;
    float: left;
    align-items: center;
    justify-content: center;
    transition: 0.5s;
    padding: 0px !important;
    margin: 0px !important;
    transition: 0.5s;
}
.galeria-results .pagination > .wp-pagenavi span.current,
.galeria-results .pagination > .wp-pagenavi a:hover{
    font-weight: 700;
    color: var(--color-4);
    background: var(--color-2);
}
.galeria-results .pagination > .wp-pagenavi a:hover{
    opacity: 0.5;
}
.galeria-results .pagination > .wp-pagenavi a.last:hover, .galeria-results .pagination > .wp-pagenavi a.first:hover{
    padding: 0px 10px !important;
}

.galeria-results .pagination > .wp-pagenavi .previouspostslink,
.galeria-results .pagination > .wp-pagenavi .nextpostslink{
    font-size: 0px !important;
}
.galeria-results .pagination > .wp-pagenavi .previouspostslink:after,
.galeria-results .pagination > .wp-pagenavi .nextpostslink:after{
    content: "\f053";
    font-family: "Font Awesome 6 Free";
    font-size: var(--font-size-button) !important;
    line-height: var(--line-height-button) !important;
    font-weight: bold !important;
}
.galeria-results .pagination > .wp-pagenavi .nextpostslink:after{
    content: "\f054";
}
.galeria-item.type-post-video{
    display: flex;
    position: relative;
}
.galeria-item.type-post-video:after{
    content: "\f04b";
    font-family: "Font Awesome 6 Free";
    margin: auto;
    border-radius: 50px;
    box-shadow: 0px 0px 0px 3px white;
    color: var(--color-4);
    left: calc(50% - 17.5px);
    top: calc(50% - 17.5px);
    font-weight: bold;
    width: 35px;
    height: 35px;
    z-index: 1;
    align-items: center;
    justify-content: center;
    position: absolute;
    display: flex;
    font-size: var(--font-size-button);
    line-height: var(--line-height-button);
    z-index: 3;
}
.galeria-item.type-post-video:before{
    content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) -32.93%, rgba(194, 167, 18, 0.91) 128.81%);
}
.popup-section-media{
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    transition: 0.5s;
    background: rgba(0, 0, 0, 0.78);
    z-index: 99999999;
    display: flex;
    opacity: 1;
}
.popup-section-media:not(.active){
    opacity: 0;
    z-index: -9;
}
.popup-section-media *{
    color: var(--color-4);
}
.popup-section-media .pop-recurso{
    margin: auto;
    height: 90%;
    display: flex;
}
.popup-the-media{
    height: 100%;
    display: flex;
    margin: auto;
}
.popup-section-media .pop-recurso img,
.popup-section-media .pop-recurso video{
    max-height: 100% !important;
}
.close-popup{
    font-size: var(--font-size-title-display);
    position: absolute;
    top: 25px;
    left: 30px;
    cursor: pointer;
}
.button-media{
    font-size: var(--font-size-text-big);
    display: flex;
    width: 40px;
    height: 40px;
    border: 1px solid var(--color-4);
    border-radius: 50px;
    top: calc(50% - 20px);
    position: absolute;
    cursor: pointer;
}
.button-media.button-left-media{
    left: 5%;
}
.button-media.button-right-media{
    right: 5%;
}
.button-media > i{
    margin: auto;
}
.galeria-item-popup:not(.active){
    display: none;
}
.galeria-item-popup{
    height: 100%;
    margin: auto;
    line-height: 0;
    display: flex;
}
.galeria-item-popup > img,
.galeria-item-popup > video{
    margin: auto;
}
/* EXPERIENCIA ÚNICA */
.bloque-recomendado{
    float: left;
    width: 100%;
    position: relative;
    aspect-ratio: 536 / 328;
    background-size: cover;
    background-position: 50% 50% !important;
}
article .the-content .bloque-recomendado p{
    text-align: center !important;
    color: var(--color-4) !important;
    font-family: var(--font-title);
}
.bloque-recomendado-link{
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
}
.bloque-recomendado .bloque-recomendado-block-1 .bloque-recomendado-block-title,
.bloque-recomendado .bloque-recomendado-block-2 .bloque-recomendado-block-text{
    font-size: var(--font-size-text-little);
    line-height: var(--line-height-text-big);
    font-weight: 700;
    margin-bottom: 35px;
}
.bloque-recomendado .bloque-recomendado-block-2 .bloque-recomendado-block-title{
    font-size: var(--font-size-text-big);
    line-height: var(--line-height-title);
    font-weight: 700;
}
.bloque-recomendado-block-text{
    margin-top: 25px;
}
.bloque-recomendado-block-text .fa-chevron-right{
    margin-left: 15px;
    top: 1px;
    position: relative;
}
.bloque-recomendado-block{
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    transition: 0.5s;
    display: grid;
}
.bloque-recomendado-block-content{
    width: 100%;
    height: max-content;
    margin-top: auto;
}
.bloque-recomendado .bloque-recomendado-block-1 .bloque-recomendado-block-title{
    margin-top: auto;
}
.bloque-recomendado > a > .bloque-recomendado-block-1,
.bloque-recomendado:hover > a > .bloque-recomendado-block-2{
    opacity: 1;
}
.bloque-recomendado > a > .bloque-recomendado-block-2,
.bloque-recomendado:hover > a > .bloque-recomendado-block-1{
    opacity: 0;
}
.bloque-recomendado > a > .bloque-recomendado-block-1{
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000 164.38%);
}
.bloque-recomendado > a > .bloque-recomendado-block-2{
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) -32.93%, rgba(194, 167, 18, 0.91) 128.81%);
}
.elemento-cuadro:before{
    content: "";
    border: 1px solid var(--color-2);
    width: 45%;
    height: 75%;
    position: absolute;
    left: calc(50% - calc(45% / 2));
    bottom: 0px;
}
.elemento-cuadro{
    padding-bottom: 32px;
}
.bloque-imagen-text-info{
    width: 80%;
    height: 46vh;
    aspect-ratio: 920 / 393;
    position: relative;
    background-size: inherit;
    background-repeat: no-repeat;
    background-position: 50% 0%;
    display: flex;
    /* max-width: 720px; */
    margin-left: auto;
    margin-right: auto;
    transition: 0.5s;
    opacity: 1;
}
.slider-spa-section .bloque-imagen-text-info{
    height: auto !important;
    aspect-ratio: 1440 / 840 !important;
    background-size: cover !important;
}
.buttons-reserva {
    display: flex;
    align-items: center;
    gap: 20px !important;
}
.bloque-imagen-text-info-card{
    background: #F8F8F2;
    margin: auto auto 0px 0px;
    max-width: 49%;
    padding: 20px;
    padding-bottom: 30px;
    transition: 0.5s;
    opacity: 1;
}
.slider-spa .slick-track .bloque-imagen-text-section:not(.slick-active) .bloque-imagen-text-info-card{
    opacity: 0;
}
.slider-spa .slick-track .bloque-imagen-text-section:not(.slick-active) .bloque-imagen-text-info{
    opacity: 0.2;
}

.bloque-imagen-text-info-card > p{
    float: left;
}
.bloque-imagen-text-info > .bloque-imagen-text-info-card > .bloque-imagen-text-info-title{
    font-size: var(--font-size-text-big) !important;
    line-height: var(--line-height-text-big) !important;
    font-weight: 700 !important;
    color: var(--color-3) !important;
    font-family: var(--font-title) !important;
}
.bloque-imagen-text-info-description{
    margin-top: 25px;
    margin-bottom: 55px;
    float: left;
}
.bloque-imagen-text-info-description a{
    color: var(--color-2) !important;
    font-weight: inherit !important;
    text-decoration: underline !important;
}
.bloque-imagen-text-info-button > a{
    font-weight: 400 !important;
}
.slider-spa  > .vc_column-inner > .wpb_wrapper,
.slider-spa .slick-list{
    overflow: visible;
}
.slider-spa .slick-list{
    max-width: 85%;
    margin-left: auto;
    margin-right: auto;
}
.display-none{
    display: none !important;
}
/* HABITACIONES */
.habitaciones-section-vertical-big-section > .vc_row{
    left: 0px !important;
}
.habitaciones-section-vertical{
    width: 90%;
    margin-left: 10%;
}
.habitaciones-section-vertical .vc_tta-panels,
.habitaciones-section-vertical .vc_tta-tab > a{
    border: none !important;
    background: none !important;
}
.habitaciones-section-vertical .vc_tta-panels .vc_tta-panel-body{
    padding: 0px !important;
}
.habitaciones-options{
    display: flex;
    justify-content: space-around;
    width: calc(50% - 12.5px);
    border-bottom: 1px solid rgba(82, 83, 87, 0.20);
    padding-top: 55px;
    padding-bottom: 15px;
    margin-bottom: 55px;
}
article .the-content p.habitaciones-option,
article .the-content .habitaciones-section-vertical li.vc_tta-tab > a > span,
article .the-content .section-gastronomia li.vc_tta-tab > a > span{
    font-family: var(--font-title) !important;
    color: var(--color-3) !important;
    font-size: var(--font-size-text-little) !important;
    line-height: var(--line-height-button) !important;
    font-weight: 300 !important;
    cursor: pointer;
    position: relative;
    width: 100%;
    text-align: left;
    transition: 0.5s;
}
article .the-content .habitaciones-section-vertical li.vc_tta-tab > a > span,
article .the-content .section-gastronomia li.vc_tta-tab > a > span{
    padding-bottom: 15px;
}
article .the-content p.habitaciones-option.active:after,
article .the-content .habitaciones-section-vertical li.vc_tta-tab.vc_active > a > span:after,
article .the-content .section-gastronomia li.vc_tta-tab.vc_active > a > span:after{
    content: "";
    position: absolute;
    background: var(--color-2);
    height: 3px;
    width: 100%;
    left: 0px;
    bottom: -17px;
}
article .the-content .habitaciones-section-vertical li.vc_tta-tab.vc_active > a > span:after,
article .the-content .section-gastronomia li.vc_tta-tab.vc_active > a > span:after{
    bottom: 2px;
}
article .the-content .section-gastronomia .vc_tta-tab > a{
    background: none !important;
    border: none !important;
    padding: 0px 0px 7px 0px !important;
}
.section-gastronomia .vc_tta-tabs-container{
    padding-bottom: 55px;
}
article .the-content .section-gastronomia li.vc_tta-tab > a > span{
    padding-right: 15px;
    transition: 0.5s;
    opacity: 1;
}
article .the-content .section-gastronomia li.vc_tta-tab:not(.vc_active) > a > span{
    opacity: 0.4;
}
article .the-content .section-gastronomia .vc_tta-tabs-list{
    border-bottom: 1px solid #52535733;
    display: flex;
    justify-content: flex-start;
    gap: 19px;
    align-items: center;
    position: relative;
    padding-bottom: 0px;
}
article .the-content .eventos-mobile.section-gastronomia .vc_tta-tabs-list{
    justify-content: flex-start !important;
}
article .the-content .section-gastronomia .vc_tta-tabs-list > li,
article .the-content .section-gastronomia .vc_tta-tabs-list > li > a,
article .the-content .section-gastronomia .vc_tta-tabs-list > li > a > .vc_tta-title-text{
    position: inherit !important;
}
article .the-content .section-gastronomia li.vc_tta-tab.vc_active > a > span:after{
    bottom: 0px !important;
    left: -500vw;
    width: 1500vw;
}
article .the-content .section-gastronomia .vc_tta-tabs-list > li{
    height: 65px;
    overflow: hidden;
}
article .the-content .section-gastronomia .vc_tta-tabs-list > li > a{
    height: 100% !important;
    display: flex;
}
article .the-content .section-gastronomia .vc_tta-tabs-list > li > a > span{
    height: 100% !important;
    padding-bottom: 7px !important;
    display: flex;
    justify-items: center !important;
    align-items: center !important;
    text-align: center !important;
    line-height: 1.5 !important;
}
.habitaciones-block-section{
    display: grid;
    grid-template-columns: repeat(2, calc(50% - 37.5px));
    grid-gap: 75px;
}
.habitaciones-opciones-block:not(.active){
    display: none !important;
}
.habitaciones-section-vertical.vc_tta.vc_general .vc_tta-panel-body{
    display: block !important;
}
article .the-content p.habitaciones-option:not(.active),
article .the-content .habitaciones-section-vertical li.vc_tta-tab:not(.vc_active) > a > span{
    color: #52535766 !important;
}
.seccion-gastronomia-opciones > .wpb_column{
    /*width: calc(80% + 30px); */
    padding-left: calc(10% - 15px);
    padding-right: calc(10% - 15px);
    width: 100%;
}
.habitaciones-imagenes{
    line-height: 0;
    margin-top: -10vh;
    /*margin-top: -30vh;*/
}
img.habitacion-imagen{
    max-width: 100% !important;
    height: 60vh !important;
    object-fit: cover;
}
.hab-scroll{
    overflow-y: scroll;
    height: 50vh;
    position: relative;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* Internet Explorer 10+ */
}
.hab-scroll-column{
    position: relative;
    margin-top: -45px;
}
.hab-scroll-column:before,
.hab-scroll-column:after{
    content: "";
    background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.42) 100%);
    position: absolute;
    left: 0px;
    width: 100%;
    height: 35px;
    z-index: 1;
}
.hab-scroll-column:after{
    bottom: 0px;
    background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.42) 100%);
}
.hab-scroll {
    padding-top: 45px;
    padding-bottom: 45px;
}
.hab-scroll-p {
  white-space: pre-line;
}
.hab-scroll-p a {
    font-weight: 600 !important;
}
.hab-scroll::-webkit-scrollbar {
  display: none;
}

.habitaciones-section-vertical .vc_tta-panels > .vc_tta-panel{
    transition: 0.5s;
    width: 100% !important;
    
}
.habitaciones-section-vertical .vc_tta-panels > .vc_tta-panel:not(.vc_active){
    position: absolute;
    opacity: 0;
    z-index: -1;
}
.habitaciones-section-vertical .vc_tta-tabs-container{
    width: 22% !important;
}
.habitaciones-section-vertical.habitaciones-section-vertical-room .vc_tta-tabs-container{
    width: 100% !important;
    margin-bottom: 20px !important;
}
.habitaciones-section-vertical.habitaciones-section-vertical-room .vc_tta-panels-container{
    width: 100% !important;
}
.habitaciones-section-vertical .vc_tta-panels-container{
    width: 78% !important;
}

.habitaciones-section-vertical .slick-dots, .habitaciones-imagenes .slick-dots{
    margin-top: 50px;
    margin-bottom: 30px;
    width: 60%;
}
.habitaciones-section-vertical .slick-arrow, .habitaciones-imagenes .slick-arrow{
    bottom: -7px;
}
.habitaciones-section-vertical .slick-prev{
    left: calc(60% + 15px);
}
.habitaciones-section-vertical .slick-next{
    left: calc(60% + 45px);
}
.habitaciones-section .title-title {
    width: calc(50% - 12.5px);
}
.reservar-p > a{
    font-weight: 400 !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}
.reservar-p{
    margin-top: 50px;
    margin-bottom: 25px;
}
.caracteristicas-ul{
    list-style: none !important;
}
.caracteristicas-ul li{
    font-size: var(--font-size-text) !important;
    line-height: var(--line-height-text) !important;
    color: var(--color-1) !important;
    margin-bottom: 20px;
}
.caracteristicas-ul li:before{
    content: "·";
    color: var(--color-1) !important;
    font-size: 25px;
    margin-right: 15px;
}
.opiniones-block-general{
    display: grid;
    grid-gap: 55px;
    padding-left: 15px;
}
.opinion-person{
    margin-top: 25px;
    font-size: var(--font-size-title-little) !important;
    font-weight: bold !important;
}
.opinion-content{
    font-style: italic;
}
.opinion-block-hab{
    position: relative;
}
.opinion-block-hab:before{
    content: "“";
    color: var(--color-2);
    font-size: 120px;
    line-height: 0;
    font-family: var(--font-title);
    font-weight: 600;
    position: absolute;
    opacity: 0.4;
    top: 20px;
    left: -15px;
}
.habitacion-text-block{
    margin-left: 10%;
}
a.button-default{
    font-weight: 500 !important;
}
.gastronomia-sources-column > .vc_column-inner > .wpb_wrapper{
    height: 80vh;
    position: relative;
}
.gastronomia-sources-column:before{
    content: "";
    border: 1px solid var(--color-2);
    width: 40%;
    height: 40%;
    position: absolute;
    bottom: 15%;
    left: 35%;
}
.gastronomia-sources-column img{
    object-fit: cover;
}
.gastronomia-sources-column .gastronomia-img-1{
    aspect-ratio: 552 / 490;
    float: right;
    width: 75%;
    position: relative;
    z-index: 1;
}
.gastronomia-sources-column .gastronomia-img-2{
    aspect-ratio: 368 / 232;
    float: left;
    width: 50%;
    position: absolute;
    bottom: 75px;
    /*left: -10%;*/
    left: 0px !important;
    z-index: 2;
}
.gastronomia-sources-column .gastronomia-img-1 > .wpb_wrapper,
.gastronomia-sources-column .gastronomia-img-1 > .wpb_wrapper > .vc_single_image-wrapper,
.gastronomia-sources-column .gastronomia-img-1 > .wpb_wrapper > .vc_single_image-wrapper > img,
.gastronomia-sources-column .gastronomia-img-2 > .wpb_wrapper,
.gastronomia-sources-column .gastronomia-img-2 > .wpb_wrapper > .vc_single_image-wrapper,
.gastronomia-sources-column .gastronomia-img-2 > .wpb_wrapper > .vc_single_image-wrapper > img{
    width: 100%;
    height: 100%;
}
.gastronomia-sources-column .gastronomia-img-1 > video,
.gastronomia-sources-column .gastronomia-img-2 > video{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.section-gastronomia .vc_tta-panel-body,
.section-gastronomia .vc_tta-panels{
    background: transparent !important;
    border: none !important;
}
.section-gastronomia .vc_tta-panel-body{
    padding: 0px !important;
}
.selector-opciones{
    background: #D9D9D940;
    padding: 10px;
    text-align: center;
    float: left;
}
.selector-opciones > a.button-click{
    float: left;
    color: var(--color-3);
    font-size: var(--font-size-text-little);
    line-height: var(--line-height-text-little);
    font-weight: 700 !important;
    padding: 15px 25px;
    transition: 0.5s;
}
.selector-opciones > a.button-click.active{
    background: var(--color-2) !important;
    color: var(--color-4) !important;
    box-shadow: 0px 0px 3px 2px #00000075;
}
.seccion-gastronomia-opciones:not(.active){
    display: none !important;
}
/*-------------------------experiencias-----------------------*/

.slider-image .slide-pair {
	display: grid;
	gap: 15px;
	align-items: center;
}
.slider-image .slide-pair img {
	width: 100%;
	height: auto;
	object-fit: cover;
}
.slider-image .img-small img {
	height: 160px;
}
.slider-image .img-big img {
	height: 640px;
}
.experiencias_opc .slider_exp_derecha .slider-image {
    width: calc(100% + 100px) !important;
    margin-top: 0px;
}
.experiencias_opc .slider_exp_izquierda .slider-image {
    width: calc(100% + 100px) !important;
    margin-top: 0px;
}
.slider_exp_derecha{
    left: -100px;
}
.slider_experiencia .slider-image .slick-track {
    display: flex;
    align-items: flex-end !important;
    gap: 15px;
}
.seccion-gastronomia-opciones.experiencias_opc > .wpb_column{
    width: calc(100% - calc(10% - 15px)) !important;
}
/*
.slider_experiencia .slider-image .slick-slide{
    display: flex !important;
}

.slider_experiencia .slick-slide.slick-current.slick-active img{
    height: 20vh !important;
}

.slider_experiencia .slick-slide.slick-active img{
    height: 65vh !important;
}

body .slick-slide.slick-current.slick-active{
    width: 4% !important;
}*/
.slider_experiencia .slider-image .slick-slide{
    align-items: end;
}

.slider_exp_derecha .slick-slide > img:nth-child(1){
    height: 155px !important;
}/*
.slider_exp_derecha .slick-slide > img:nth-child(2){
    height: 640px !important;
}
*/
.slider_exp_izquierda .slick-slide > img:nth-child(1){
    height: 640px !important;
}
.slider_exp_izquierda .slick-slide > img:nth-child(2){
    height: 155px !important;
}
.slider_exp_izquierda .slider-image .slick-dots{
    max-width: 60%;
    margin-left: 10%;
}


.form-grid {
  display: grid;
  flex-wrap: wrap;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  font-family: var(--font-title) !important;
}

.form-group {
  display: flex;
  width: 100%;
  flex-direction: column;
}

.form-group.full {
  flex: 1 1 100%;
}
html form.wpcf7-form * {
    font-family: 'Playfair Display' !important;
}
.form-group input,
.form-group select,
.form-group textarea {
  border: none;
  border-bottom: 1px solid var(--color-2);
  padding: 8px 0;
  background: transparent;
  font-size: clamp(14px, 1vw, 18px);
  color: #333;
  font-family: inherit;
  width: 100%;
}

.form-group select {
  width: 100%;
  padding: 10px 40px 10px 0;
  font-size: var(--font-size-text, 16px);
  border: none;
  border-bottom: 1px solid #bfa44a;
  background-color: transparent;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23bfa44a' stroke-width='1.5' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
  cursor: pointer;
}
.form-group select * {
    font-family: 'Montserrat' !important;
}

.form-group select:focus {
  outline: none;
  border-bottom: 1px solid #bfa44a;
}


.form-group textarea {
  resize: vertical;
  min-height: 100px;
}

.form-check-wrap {
  display: flex;
  align-items: center;
  color: #4d4d4d;
  font-size: 14px;
  margin-top: 20px;
}

.form-check-wrap label {
  position: relative;
  padding-left: 40px;
  cursor: pointer;
  display: flex;
  align-items: center;
  user-select: none;
}

.form-check-wrap input[type="checkbox"] {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  margin: 0;
  cursor: pointer;
}

.form-check-wrap label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  height: 20px;
  width: 20px;
  border: 1px solid #bfa44a;
  border-radius: 50%;
  background-color: transparent;
}

.form-check-wrap input[type="checkbox"]:checked + span::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 11px;
  width: 8px;
  height: 8px;
  background-color: #bfa44a;
  border-radius: 50%;
}
.form-check-wrap label span{
  font-size: 14px !important;
}

.form-submit {
  flex: 1 1 100%;
}

.form-submit input[type="submit"] {
    background: var(--color-2) !important;
    border: 1px solid var(--color-2) !important;
    transition: 0.5s;
    color: var(--color-4) !important;
    text-transform: uppercase;
    border-radius: 0px !important;
    font-size: var(--font-size-button) !important;
    line-height: var(--line-height-button) !important;
    font-family: var(--font-title);
    outline: none !important;
    padding: 15px 25px !important;
    font-weight: 500 !important;
}
.form-submit input[type="submit"]:hover{
    background: var(--color-4) !important;
    color: var(--color-2) !important;
}
.form-full{
    display: flex;
    gap: 20px;
    flex-direction: column;
    justify-content: center;
    padding: 20px 0px;
}
.form-grid-send {
    display: grid;
    flex-wrap: wrap;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
    font-family: var(--font-title) !important;
    justify-items: end;
    align-items: center;
}
.text-right-padding {
    padding-right: 10% !important;
}
.text-left-padding {
    padding-left: 10% !important;
}
.experiencias_opc .vc_tta-tabs-container{
    width: 90% !important;
}

/* Pestanyes: estil base ocult 
.vc_tta-panel {
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  transition: opacity 2s ease, transform 2s ease;
}

.vc_tta-panel.vc_active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}*/

/*-------------------------experiencias-----------------------*/


/*-------------------------ofertas-----------------------*/
.grid-ofertas .bloque-recomendado .bloque-recomendado-block-2 .bloque-recomendado-block-title{
    font-size: var(--font-size-text-big);
    line-height: var(--line-height-title);
    font-weight: 700;
}
.menu-meses-carrusel .mes-item {
  transition: background-color 0.3s, color 0.3s;
}

.titulo-ofertas,
.grid-ofertas {
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
}

.fade-out {
	opacity: 0;
	transition: opacity 0.3s ease-out;
}

.fade-in {
	opacity: 1;
	transition: opacity 0.4s ease-in;
}

.mes-item .mes-link{
  transition: all 0.7s ease;
  opacity: 0.7;
}

.mes-item.active .mes-link {
  opacity: 1;
}
.menu-meses-carrusel-wrapper {
  opacity: 0;
  transform: translateY(-10px);
  animation: fadeSlideIn 0.5s ease-in-out forwards;
  animation-delay: 0.3s;
}

@keyframes fadeSlideIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.mes-item {
	transition: transform 0.3s ease, opacity 0.3s ease;
}
.mes-item.active {
	transform: scale(1.05);
	opacity: 1;
}


/*-------------------------ofertas-----------------------*/
/*-------------------------Eventos-----------------------*/
body .title-form-evetos p{
    font-size: var(--font-size-title) !important;
    font-weight: 400 !important;
    font-family: var(--font-title);
    color: black !important;
}
.Oficina_info{
    padding: 30px !important;
}
.uavc-list a {
    font-size: 18px;
    padding-left: 10px;
    color: black;
    font-weight: 300 !important;
}
.uavc-list-icon .uavc-list-icon {
    height: 33px;
}
.Oficina_info .textwidget, .Oficina_info .uavc-list-icon{
    padding-left: 20px !important;
}
.gastronomia-sources-column .eventos-img-1{
    aspect-ratio: 552 / 490;
    float: right;
    width: 85%;
    position: relative;
    z-index: 1;
}
.gastronomia-sources-column .eventos-img-1 > .wpb_wrapper,
.gastronomia-sources-column .eventos-img-1 > .wpb_wrapper > .vc_single_image-wrapper,
.gastronomia-sources-column .eventos-img-1 > .wpb_wrapper > .vc_single_image-wrapper > img{
    width: 100%;
    height: 100%;
}
.gastronomia-sources-column .eventos-img-1 > video{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gastronomia-sources-column.eventos_img > .vc_column-inner > .wpb_wrapper:before{
    content: "";
    border: 1px solid var(--color-2);
    width: 75%;
    height: 60%;
    position: absolute;
    bottom: 15%;
    left: 12%;
}
.link_descarga a {
    color: var(--color-1) !important;
    font-weight: 400 !important;
}
.aio-icon i{
    font-size: 20px !important;
}
/*-------------------------Eventos-----------------------*/




/* HEADER TEMPORAL */

/*-------------------------Home-----------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}
.cabecera {
    height: 100vh; 
	display: flex; 
	align-items: center; 
	justify-content: center; 
	position: relative; 
	background-position: center center !important; 
	background-size: cover !important;
}
.cabecera::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.55);
	z-index: 1;
}
.cabecera-home-container {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 40px;
	max-width: 90%;
	margin: auto;
	flex-wrap: wrap;
}
.cabecera-home-left,
.cabecera-home-right {
	display: flex;
	flex-direction: column;
	text-align: center;
	color: white !important;
}
.cabecera-home-divider {
	width: 1px;
	background-color: #B8A328;
	height: 75px;
}

body .cabecera-home-frase1,
body .cabecera-home-frase3 {
	font-size: 35px !important;
	font-weight: 400 !important;
	color: white !important;
}
body .cabecera-home-frase2,
body .cabecera-home-frase4 {
	font-size: 50px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	font-family: var(--font-title) !important;
	color: white !important;
}
.cabecera-home-left{
    align-items: flex-end;
    width: 40%;
}
.cabecera-home-right {
    align-items: start;
    width: 40%;
}
.cabecera-home-left p.cabecera-home-frase1,
.cabecera-home-left p.cabecera-home-frase2{
    text-align: end !important;
    color: white !important;
}
.cabecera-home-right p.cabecera-home-frase3,
.cabecera-home-right p.cabecera-home-frase4{
    text-align: start !important;
    color: white !important;
}
.cabecera-home-center{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 38px;
}
.linea_home{
    position: absolute;
    left: -10px;
}
.titulo_icon{
    font-size: 25px ;
}
.slider-home.slider-image {
    margin: auto !important;
}
.slider-home.slider-image .slick-slide {
    display: grid;
    grid-template-columns: 1fr !important;
    grid-gap: 15px;
}
.slider-home.slider-image {
    width: calc(80% + 100px) !important;
}

.text_img .vc_column-inner{
    width: calc(1280px / 2) !important;
    margin: auto;
}
.cuadrado_fondo::before {
    content: "";
    border: 1px solid var(--color-2);
    width: 50%;
    height: 50%;
    position: absolute;
    top: 27%;
    left: 50%;
    right: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}



.bloque-info-flotante-section {
    position: relative;
    overflow: hidden; /* MUITO IMPORTANTE */
    padding-bottom: 22px !important; /* espaço para a barra */
}

.bloque-info-flotante-fondo {
    width: 87.5%;
    aspect-ratio: 720 / 420;
    position: relative;
    background-size: cover;
    background-position: 50% 50%;
    display: flex;
    margin-left: auto;
    margin-right: auto;
    transition: 0.5s;
    opacity: 1;
}

.bloque-info-flotante-barra {
   position: absolute;
   bottom: 0;
   left: 50%;
   transform: translateX(-50%);
   background: white;
   display: flex;
   gap: 4rem;
   padding: 2rem;
   box-shadow: 0 10px 20px rgba(0,0,0,0.1);
   flex-wrap: wrap;
   justify-content: center;
   width: 100%;
   max-width: 1200px;
   border-radius: 0.5rem;
}

.bloque-info-flotante-item {
    display: flex; 
	flex-direction: row; 
	align-items: center; 
	min-width: 100px; 
	text-align: center; 
	gap: 10px;
}

.bloque-info-flotante-item img {
    max-width: 40px;
    margin-bottom: 0.5rem;
}
.bloque-info-flotante-item .titulo {
    font-weight: 400 !important; 
	margin: 0; 
	font-family: var(--font-title) !important; 
	padding-left: 10px; 
	color: var(--color-3) !important;
}
.bloque-info-flotante-item .descripcion {
    font-size: 0.85rem;
    color: #444;
    margin: 0;
}
.divider_room{
	width: 100%;
	background-color: #D9D9D9;
	height: 1px;
}

.slider-spa .slick-track .bloque-info-flotante-section:not(.slick-active) .bloque-info-flotante-fondo {
    opacity: 0.2;
}
/*-------------------------Home-----------------------*/

/*-------------------------Mobile-----------------------*/

@media (max-width: 768px) {

  .bloque-info-flotante-section {
    overflow: visible;
  }

  .bloque-info-flotante-barra {
    position: relative;
    left: 0;
    transform: none;
    width: 100%;
    padding: 1.5rem;
    gap: 1rem;
  }

  .slider-home.slider-image {
    width: 100% !important;
  }

}

/*-------------------------template_ofertas_mes-----------------------*/
                .menu-meses-carrusel-wrapper {
					display: flex;
					align-items: flex-start;
					justify-content: center;
					gap: 10px;
					padding: 40px 0 2px;
					position: relative;
					z-index: 1;
				}
				.menu-meses-carrusel {
					overflow: hidden;
					width: 100%;
					max-width: var(--container);
				}
				.scroll-meses {
					display: flex;
					gap: 30px;
					overflow-x: auto;
					scroll-behavior: smooth;
					scroll-snap-type: x mandatory;
					padding: 0 20px;
                    align-items: flex-start;
				}
				.scroll-meses::-webkit-scrollbar {
					display: none;
				}
				.mes-item {
					scroll-snap-align: center;
					white-space: nowrap;
					padding: 10px 0;
					display: flex;
					align-items: center;
				}
				.mes-item a {
					display: inline-block;
					font-weight: 300 !important;
					padding: 20px 40px;
					font-family: var(--font-title);
					font-size: var(--font-size-title-little);
					color: var(--color-1);
					text-decoration: none;
				}
				.mes-item.active a {
					background-color: var(--color-2);
					color: var(--color-4);
					font-size: var(--font-size-title-little);
					font-weight: 900 !important;
                    padding-top: 20px;
					padding-bottom: 80px;
				}
				.mes-arrow {
					background: transparent;
					border: none;
					font-size: 24px;
					cursor: pointer;
					color: var(--color-1);
                    padding-top: 35px !important;
				}
				.titulo-ofertas {
					text-align: center;
					font-family: var(--font-title);
					font-size: var(--font-size-title);
					line-height: var(--line-height-title);
					color: var(--color-3);
					margin: 10px 0 40px;
				}
				.grid-ofertas {
					display: grid;
					grid-template-columns: repeat(3, 1fr);
					gap: 30px;
					padding: 45px;
				}
				.item-oferta {
					position: relative;
					overflow: hidden;
				}
				.thumb-oferta {
					width: 100%;
					padding-top: 70%;
					background-size: cover;
					background-position: center;
				}
				.titulo-overlay {
					position: absolute;
					bottom: 15px;
					left: 20px;
					color: white;
					font-size: var(--font-size-title-little);
					font-weight: 700;
					font-family: var(--font-default);
					text-shadow: 1px 1px 3px rgba(0,0,0,0.6);
				}
				button:hover{
					box-shadow: none;
				}
				.contenedor-ofertas {
					width: 90%;
					margin: 30px auto;
					background-color: white;
					padding: 40px 30px;
					position: relative;
    				top: -70px;
				}
                .ofertas_destacadas .contenedor-ofertas {
                    top: 0px !important;
                }




    .popup-overlay {
        position: fixed;
        top: 0; left: 0;
        width: 100%; height: 100%;
        background: rgba(0,0,0,0.7);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 9999;
    }
    .popup-oferta {
        background: var(--color-4);
        max-width: 900px;
        width: 100%;
        display: flex;
        box-shadow: 0 0 20px rgba(0,0,0,0.5);
        position: relative;
        height: 50%;
    }
    .popup-close {
        position: absolute;
        top: 10px;
        right: 10px;
        font-size: 40px;
        color: var(--color-2);
        background: none;
        border: none;
        cursor: pointer;
    }
    .popup-imagen {
        width: 50%;
        background-size: cover;
        background-position: center;
    }
    .popup-info {
        width: 50%;
        padding: 40px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .popup-subtitle {
        color: var(--color-2);
        font-size: var(--font-size-text-little);
        text-transform: uppercase;
        line-height: 19px !important;
        text-align: center;
    }
    .popup-info h2 {
        font-family: var(--font-title);
        font-size: 30px !important;
        margin: 10px 0 20px;
        line-height: 40px !important;
        text-align: center !important;
    }
    .popup-btn, .popup-btn-outline {
        display: inline-block;
        margin-top: 20px;
        padding: 2px 20px;
        text-align: center;
        text-decoration: none;
    }
    .popup-btn {
        background: var(--color-2);
        color: var(--color-4);
        font-weight: 400 !important;
        font-size: 18px;
    }
    .popup-btn:hover{
        background: var(--color-3) !important;
        color: var(--color-4) !important;
    }
    .popup-btn-outline {
        border: 1px solid var(--color-2);
        color: var(--color-2);
    }
    .popup-btn-outline:hover{
        background: var(--color-2) !important;
        color: var(--color-4) !important;
    }
    .popup-content{
        width: 100%;
        display: flex;
        height: 100%;
    }
    .popup-oferta .descripcion p {
        font-size: 14px !important;
        line-height: 19px !important;
        text-align: center;
    }
    .popup-btn-outline{
        font-size: 18px;
    }
    .fondo_diseno:before {
        content: "";
        border: 1px solid var(--color-2);
        width: 57%;
        height: 57%;
        position: absolute;
        top: -7%;
        left: -7%;
        z-index: -1;
    }
    .fondo_diseno:after {
        content: "";
        border: 1px solid var(--color-2);
        width: 57%;
        height: 57%;
        position: absolute;
        bottom: -7%;
        right: -7%;
        z-index: -1;
    }
    .experiencias_link .vc_column_container .vc_column-inner {
        padding: 0px;
    }
    .experiencias_link .bloque-recomendado{
        float: left;
        width: 100%;
        position: relative;
        background-size: cover;
        height: 35vh;
        background-position: 50% 50% !important;
    }
/*-------------------------template_ofertas_mes-----------------------*/
.bloque-opiniones-section {
  display: flex !important;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}
.opinion-block-hab {
    background: #f8f8f8ed;
    margin-right: 2.5rem;
    padding: 1.5rem;
    border-radius: 10px;
    max-width: 400px;
    text-align: center;
    box-shadow: 0 0 8px rgba(0,0,0,0.05);
}
.opinion-content {
  font-style: italic;
  color: #525357;
  margin-bottom: 1rem;
  position: relative;
}
.opinion-stars {
  color: #B8A328;
  margin-bottom: 0.5rem;
  text-align: left;
}
.opinion-person {
  font-weight: 600;
  font-size: 0.95rem;
}
.map_home .vc_column-inner .wpb_wrapper * {
    height: 100% !important;
}

/*---------------Header----------*/
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-col {
  flex: 1;
  text-align: center;
}
.header-col.left { text-align: left; }
.header-col.right { text-align: right; }

/* Fullscreen menu */
.menu-fullscreen {
  position: fixed;
  inset: 0;
  background: white;
  z-index: 9999;
  flex-direction: row;
  justify-content: space-between;
  padding: 1% 10%;
  width: 100% !important;
  opacity: 0;
  transform: translateY(-100%);
  transition: opacity 0.5s ease, transform 0.6s ease;
  pointer-events: none;
  display: flex;
}

.menu-fullscreen.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  gap: 5%;
}

.menu-fullscreen-inner {
    display: flex;
    width: 100%;
    gap: 5%;
    align-items: center;
}

.menu-image {
    flex: 1;
    position: relative;
    overflow: hidden;
}

.menu-links {
  flex: 1;
}
.menu-lateral{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: flex-start;
    height: 70vh !important;
}

.menu-lateral li {
    font-size: 1.3rem;
    margin: 0px !important;
    cursor: pointer;
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.menu-fullscreen.active .menu-lateral li {
  opacity: 1;
  transform: translateY(0);
}
.menu-lateral li a{
    color: var(--color-2);
    font-size: var(--font-size-title) !important;
    font-family: serif !important;
}
.menu-lateral li:nth-child(1) { transition-delay: 0.1s; }
.menu-lateral li:nth-child(2) { transition-delay: 0.2s; }
.menu-lateral li:nth-child(3) { transition-delay: 0.3s; }
.menu-lateral li:nth-child(4) { transition-delay: 0.4s; }
.home .site-header{
    background: transparent !important;
    padding: 10px 0;
}
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9998;
    margin: 0px !important;
    background: black !important;
    padding: 7px 0 !important;
}
#menu-toggle{
    background: transparent !important;
    font-size: 30px;
}
.home .header-col.center .logo-home img{
    width: 100% !important;
    height: 115px !important;
    object-fit: contain;
}
.header-col.center .logo-paginas img{
    width: 100% !important;
    height: 50px !important;
    object-fit: contain;
    padding-top: 10px;
}
.menu-close {
    display: flex;
    padding: 4rem 0rem;
    flex-direction: column;
    justify-content: flex-start;
    font-size: 30px;
    box-shadow: none;
}
i.fa-solid.fa-bars{
    color: white !important;
}

.logo-home, .logo-paginas {
  transition: opacity 0.5s ease;
}
.site-header.scrolled {
  background: black !important;
  padding: 7px 0 !important;
}
.site-header {
  transition: background 0.5s ease, padding 0.5s ease;
}



.menu-image { position: relative; width: 100%; height: 70vh; overflow: hidden; }
.menu-image img{
  position: absolute; 
  inset: 0; 
  width: 100%; 
  height: 70vh; 
  object-fit: cover;
  border-radius: 12px; 
  display: block; 
  transition: opacity 0.8s ease; 
  will-change: opacity;
  pointer-events: none;
}
#menu-preview{ opacity: 1; }
#menu-preview-next{ opacity: 0; }


.wpml-ls-legacy-dropdown a{
    border: 0px !important;
    background-color: transparent !important;
    color: #ffffffbf !important

}
.wpml-ls-legacy-dropdown a span{
    font-size: 15px;
    font-weight: 200;
}
.wpml-ls-legacy-dropdown a:hover {
    background: transparent !important;
}

.header-col.right{
    display: flex;
    justify-content: flex-end;
}
.wpml-ls-legacy-dropdown{
    width: fit-content;
}

.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after{
    right: auto !important;
    left: -17px;
    content: "\f078";
    font-family: "Font Awesome 6 Free";
    font-weight: 600;
    font-size: .8em;
    top: 50%;
    transform: translateY(-50%);
    border: none;
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle{
    padding-right: 10px !important;
}
.sticky-booking{
    position: absolute !important;
    bottom: 14% !important;
}
.sticky .custom-booking-banner-wrapper{
    padding: 0px !important;
}

button.consultar-button.button-default {
    margin: 0.5rem 1rem !important;
}
.end-link {
    display: flex;
    flex-direction: row;
    gap: 2rem;
    justify-content: center;
    font-size: 14px;
}
.end-link a {
    font-weight: 300 !important;
    color: white;
}
.end-link a:hover{
    text-decoration: underline;
}
/*-------------header-------------*/

.form-omnibees {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  background-color: #f9f9f9;
  padding: 20px;
  border-radius: 10px;
  font-family: 'Montserrat', sans-serif;
}

.form-omnibees label {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  flex: 1 1 200px;
}

.form-omnibees input,
.form-omnibees select {
  padding: 8px;
  font-size: 16px;
  margin-top: 5px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.form-omnibees button {
  background-color: #B8A328;
  color: white;
  padding: 12px 20px;
  font-weight: bold;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 10px;
}

.form-omnibees button:hover {
  background-color: #9f8e1e;
}


/*----------------------------------------------------------------------------------------------*/


/* Estilos generales del contenedor del banner */
.cabecera .custom-booking-banner-wrapper{
    z-index: 2 !important;
}
.custom-booking-banner-wrapper {
    width: 100%;
    max-width: 1200px !important; /* Ajusta según el ancho deseado de tu banner */
    margin: 0 auto !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 200px !important; /* Ajusta la altura si es necesario */
    background-size: cover !important;
    background-position: center !important;
}

.custom-booking-banner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100% !important;
}

.custom-booking-banner .custom-booking-advantages{
    background-color: rgba(69, 69, 69, 0.9) !important;
    color: #fff !important;
    width: 100% !important;
    max-width: 100%;
}

/* Sección de Ventajas */
.custom-booking-advantages {
    display: flex !important;
    justify-content: space-around !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    padding: 1rem 2rem !important;
}


.custom-booking-advantages > div {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    position: relative;
}
.custom-booking-advantages > div > span:not(:first-of-type) {
    /* Oculta spans duplicados si el problema es que el SVG está dentro de un span y se duplica el texto */
    /* display: none !important; */
}
.custom-booking-advantages > div span {
    width: 70%;
    line-height: normal;
}

.custom-booking-advantages img {
    width: 24px !important; /* Tamaño de los iconos de ventaja */
    height: 24px !important;
    filter: brightness(0) invert(1) !important; /* Para iconos SVG blancos si son negros */
    vertical-align: middle !important;
}
.custom-booking-form-container {
    background: white !important;
    width: 100%;
}

/* ===== FORÇAR CENTRALIZAÇÃO COM SLICK ===== */

.custom-booking-form-container form{
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    position: relative !important;
    align-items: center !important;
}
.end-link {
    background-color: rgba(69, 69, 69, 0.9) !important;
    color: #fff !important;
    width: 40%;
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
}
button.consultar-button.button-default {
    margin: 10px !important;
}


.form-field {
    flex: 1 !important;
    min-width: 150px !important; 
    position: relative !important;
    color: #333 !important;
    background-color: #fff !important;
    padding: 1rem !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border-right: 1px solid #D9D9D9;
}

.form-field span {
    top: 5px !important;
    left: 10px !important;
    font-size: 11px !important;
    color: #888 !important;
    padding: 0 5px !important;
    border-radius: 3px !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.form-field input[type="text"] {
    flex-grow: 1 !important;
    border: none !important;
    background: transparent !important;
    font-size: 16px !important;
    color: #333 !important;
    outline: none !important;
    width: 100% !important; 
    font-family: var(--font-default) !important;
}

.form-field .fas {
    color: #aaa !important;
    font-size: 18px !important;
}





.promo-field {
    min-width: 180px !important; 
}

.guests-dropdown {
    position: absolute !important;
    top: 100% !important; 
    left: 0 !important;
    max-width: max-content !important; 
    background-color: #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2) !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    color: #333 !important;
    margin-top: 10px !important; 
    width: max-content !important;
    display: flex;
    flex-direction: column;
    z-index: 100000 !important;
}

.guests-heading {
    justify-content: space-between !important;
    font-weight: bold !important;
    margin-bottom: 15px !important;
    padding-bottom: 5px !important;
    border-bottom: 1px solid #eee !important;
    font-size: 14px !important;
}
.guests-heading > div { text-align: center !important; }
.guests-heading .ages-label { flex: 1.5 !important; text-align: center !important; } /* Columna de edades */


.guests-heading,
.room-row {
    display: grid !important;
    grid-template-columns: 2fr 2fr 2fr 3fr 1fr !important;
    align-items: center;
    gap: 10px;
    padding: 5px !important;
}
.guests-heading > div,
.room-row > div {
    padding: 5px 10px;
}
.room-row {
    margin-bottom: 10px !important;
    background-color: #f9f9f9 !important;
    border-radius: 5px !important;
    font-size: 14px;
}

.room-row > div {
    flex: 1 !important;
    text-align: center !important;
}

.room-name-display {
    text-align: left !important;
    font-weight: bold !important;
}

.counter-control {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
}

.counter-control button {
    background-color: #eee !important;
    border: 1px solid #ddd !important;
    border-radius: 50% !important;
    width: 30px !important;
    height: 30px !important;
    font-size: 18px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
    color: #333 !important; /* Asegurar color del texto del botón */
}

.counter-control button:hover {
    background-color: #ddd !important;
}

.children-ages-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    justify-content: center !important;
    flex: 1.5 !important; /* Ajusta el tamaño de la columna de edades */
}

.children-ages-row select {
    width: 60px !important; /* Ancho de los select de edad */
    padding: 5px !important;
    border-radius: 4px !important;
    border: 1px solid #ccc !important;
    font-size: 14px !important;
    color: #333 !important; /* Asegurar color del texto del select */
}

.remove-room-button {
    background: none !important;
    border: none !important;
    color: #f00 !important;
    cursor: pointer !important;
    font-size: 20px !important;
    flex: 0.5 !important; /* Ajusta la columna de remover */
    text-align: center !important;
    padding: 0 !important;
}
.remove-room-button:hover {
    color: #c00 !important;
}


.guests-footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 15px !important;
    padding-top: 15px !important;
    border-top: 1px solid #eee !important;
}

.add-room-button {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: #007bff !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: bold !important;
}

.add-room-button:hover {
    color: #0056b3 !important;
}

.confirm-guests-button {
    background-color: #f7d202 !important;
    color: #333 !important;
    border: none !important;
    border-radius: 5px !important;
    padding: 8px 15px !important;
    font-size: 15px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
}

.confirm-guests-button:hover {
    background-color: #e6c100 !important;
}
.icono-calendario {
  width: 20px !important;
  height: 20px !important;
  object-fit: contain;
  display: inline-block;
  vertical-align: middle;
}
.flatpickr-day.today {
    border: 0px !important;
}
.flatpickr-day.inRange{
    box-shadow: -5px 0 0 #fff6c2 , 5px 0 0 #fff6c2 !important;
    background: #fff6c2  !important;
    border-color: transparent !important;
}

body .flatpickr-day.selected, 
body .flatpickr-day.startRange, 
body .flatpickr-day.endRange,
body .flatpickr-day.selected.inRange,
body .flatpickr-day.startRange.inRange,
body .flatpickr-day.endRange.inRange,
body .flatpickr-day.selected:focus,
body .flatpickr-day.startRange:focus,
body .flatpickr-day.endRange:focus,
body .flatpickr-day.selected:hover,
body .flatpickr-day.startRange:hover,
body .flatpickr-day.endRange:hover,body .flatpickr-day.selected.prevMonthDay,body .flatpickr-day.startRange.prevMonthDay,body .flatpickr-day.endRange.prevMonthDay,body .flatpickr-day.selected.nextMonthDay,body .flatpickr-day.startRange.nextMonthDay,body .flatpickr-day.endRange.nextMonthDay {
    background: var(--color-2) !important;
    border-color: var(--color-2) !important;
}
body .flatpickr-day.selected, .flatpickr-day.startRange{
    background: var(--color-2) !important;
    border-color: var(--color-2) !important;
}
.sticky-booking {
  position: relative;
  z-index: 10000;
  transition: all 0.4s ease;
  opacity: 1;
  transform: translateY(0);
}
.sticky-booking *{
    transition: all 0.4s ease;
}
.sticky-booking.sticky {
  position: fixed !important;
  top: 8.5rem !important;
  width: 100% !important;
  background: transparent !important;
  opacity: 1;
  transform: translateY(0);
  height: fit-content !important;
}
/*
.sticky .form-field {
    padding: 0px 0.5rem !important;
}*/
.sticky .button-default{
    padding: 0.7rem 3.5rem !important;
}
.sticky .end-link{
    padding: 0px !important;
}


.sticky-booking.hidden {
  opacity: 0;
  transform: translateY(-20px);
}

.sticky .custom-booking-advantages{
    display: none !important;
}
.sticky .custom-booking-banner-wrapper{
    min-height: max-content !important;
}
.custom-booking-banner-wrapper {
  transition: all 0.4s ease;
  opacity: 1;
  transform: translateY(0);
}

.custom-booking-banner-wrapper.sticky-header {
  display: flex !important;
  opacity: 1;
  transform: translateY(0);
}

.custom-booking-banner-wrapper.hidden {
  opacity: 0;
  transform: translateY(-20px);
}
.experiencias-section-options.seccion-gastronomia-opciones.experiencias_opc > .wpb_column{
    width: 100% !important;
}
.experiencias-section-options.seccion-gastronomia-opciones.experiencias_opc .vc_tta-tabs-container{
    width: calc(100% - 30px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.experiencias-section-options.seccion-gastronomia-opciones.experiencias_opc .vc_tta-tabs-list a{
    line-height: 1 !important;
    text-align: center !important;
}
/*
article .the-content .experiencias-section-options.seccion-gastronomia-opciones.experiencias_opc li.vc_tta-tab > a > span{
    padding-left: 0px !important;
    padding-right: 0px !important;
}*/
.selector-mobile .vc_tta-tabs-container .vc_tta-tab:first-child a{
    padding-left: 0px;
}

.selector-mobile .mobile-tabs-select{
  display:none; width:100%; margin:0 0 12px;
}
.Oficina_info .textwidget, .Oficina_info .uavc-list-icon{
    padding-left: 0px !important;
}



.cabecera { position: relative; }

.scroll-down-banner{
  position: absolute !important;
  left: 50%;
  bottom: 60px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px; 
  height: 50px;
  border-radius: 50%;
  background: var(--color-2);
  color: var(--color-4);
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, opacity .2s ease;
  opacity: .95;
  z-index: 2;
}
.scroll-down-banner:hover{ background: var(--color-3); transform: translateX(-50%) translateY(2px); }

/* Botón flotante subir arriba */
#scrollTopBtn{
    position: fixed;
    right: 22px; 
    bottom: 22px;
    width: 50px; 
    height: 50px;
    border: 0; border-radius: 50%;
    background: var(--color-2); color: var(--color-4);
    cursor: pointer; display: none;
    box-shadow: 0 6px 16px rgba(0,0,0,.25);
    z-index: 9999;
    top: 83%;
    align-items: center;
    justify-content: center;
}
#scrollTopBtn:hover{ background: var(--color-3); }
.cabecera a:hover{
    color: rgb(255 255 255);
}
.texto_kids h2 {
    font-size: 5.2rem;
    margin-bottom: 15px !important;
}
.texto_kids p, .texto_kids p strong {
    font-size: 26px;
    margin-bottom: 15px !important;
}
.texto_kids *{
    color: #525357 !important;
}
.text_medio div {
    justify-content: center !important;
}
.cabecera {
  position: relative;
  background-size: cover;
  background-position: center;
  overflow: visible;
}
.cabecera-video-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none; 
}
.cabecera-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cabecera-container,
.sticky-booking,
.scroll-down-banner {
  position: relative;
  z-index: 1; 
}
.sticky-booking{
    z-index: 3;
}
button:active{
    box-shadow: none !important;
}
.custom-booking-advantages {
  display: flex;
  gap: 12px;
  align-items: center;
}

.custom-booking-advantages > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

@media (min-width: 1024px){
    .custom-booking-advantages { 
        display: flex !important; 
        gap: 12px;
        align-items: center;
    }
    .wpml-ls-sub-menu{
        width: max-content;
        text-align: left;
    }
}
@media (max-width: 1023px) {
    .custom-booking-advantages { 
        display: block; 
    }
    .custom-booking-advantages .slick-slide { 
        padding: 0 8px; 
    }
    .custom-booking-advantages .slick-list  { 
        margin: 0 -8px; 
    }
}

@media (max-width:768px){

    .selector-mobile .vc_tta-tabs-container,
    .selector-mobile .vc_tta-panel-heading{
        display:none !important;
    }

    .selector-mobile .mobile-tabs-select{ 
        display:block; 
    }

    .selector-mobile .vc_tta-panel .vc_tta-panel-body{ 
        display:none; 
    }
    .selector-mobile .vc_tta-panel.vc_active .vc_tta-panel-body{ 
        display:block; 
    }

    .mobile-tabs-select {
        width: 100%;
        padding: 12px 16px;
        font-size: 16px;
        font-family: inherit;
        border: 1px solid #ddd;
        border-radius: 6px;
        background-color: #fff;
        color: #222;
        appearance: none;        
        -webkit-appearance: none;
        -moz-appearance: none;
        cursor: pointer;
        position: relative;
    }

    .mobile-tabs-select {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 12px center;
        background-size: 12px;
    }

    .mobile-tabs-select:hover {
        border-color: #c9a63d; 
    }
    .mobile-tabs-select:focus {
        outline: none;
        border-color: #c9a63d;
        box-shadow: 0 0 0 2px rgba(201,166,61,0.3);
    }

}




.banner-reserva {
    overflow: visible !important;
}
p.cabecera-home-frase1, p.cabecera-home-frase3 {
  font-size: 27px !important;
}

/* Por defecto, el select está oculto (solo móvil) */
.galeria-mobile-select{ display:none; }


.slider-di--desktop { 
    display:block; 
}
.slider-di--mobile { 
    display:none;
} 
.booking-sheet__title { 
    font-size: 15px; 
}
.menu-group-list > .widget_text > .textwidget > ul{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    list-style: none;
}
.menu-group-list > .widget_text > .textwidget > ul > li{
    padding-left: 18px;
    position: relative;
    line-height: 1 !important;
}
.menu-group-list > .widget_text > .textwidget > ul > li:before{
    content: "\f2e7";
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    color: var(--color-2) !important;
    font-size: var(--font-size-title-little) !important;
    position: absolute;
    left: 0px;
    top: 8px;
}
.menu-group-list > .widget_text > .textwidget > ul > li > a{
    font-family: var(--font-title) !important;
    font-size: var(--font-size-title-little) !important;
    line-height: 1 !important;
    color: var(--color-1) !important;
    font-weight: 300 !important;
    margin-left: 5px !important;
    transition: 0.5s;
}
.menu-group-list > .widget_text > .textwidget > ul > li > a:hover{
    color: var(--color-2) !important;
}
.bloque-imagen-text-info {
    position: relative;
    overflow: hidden;
}
.bloque-bg-slider-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    display: flex;
}
.bloque-bg-slide {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}
.bloque-imagen-text-info-card{
    position: relative;
    z-index: 2;
}
.bloque-imagen-text-info > .bloque-bg-slider-wrapper > .slick-list{
    width: 100% !important;
    max-width: 100% !important;
}
.bloque-imagen-text-info > .bloque-bg-slider-wrapper > .slick-list .bloque-bg-slide{
    background-size: cover !important;
}
.video-module-html > .wpb_wrapper{
    display: flex;
    line-height: 0;
}
.video-module-html > .wpb_wrapper > video{
    width: 100%;
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
}
.module-video-container > video,
.galeria-item-popup > video{
    max-width: 100%;
    width: 100%;
}

/* Móvil */
@media (max-width:768px){
    .custom-booking-advantages{
        opacity: 0 !important;
        transition: 0.5s;
    }
    .custom-booking-advantages.slick-initialized{
        opacity: 1 !important;
    }

    #search-filter-form-91 li.sf-field-taxonomy-categorias_media > ul{
        display:none !important;
    }

    .galeria-mobile-select{
        display:block;
        width:100%;
        padding:12px 16px;
        font-size: var(--font-size-text);
        border:1px solid #ddd;
        border-radius:6px;
        background:#fff;
        color:#222;
        appearance:none; -webkit-appearance:none; -moz-appearance:none;
        background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none'/%3E%3C/svg%3E");
        background-repeat:no-repeat;
        background-position:right 12px center;
        background-size:12px;
    }
    .galeria-mobile-select:hover{ border-color:#c9a63d; }
    .galeria-mobile-select:focus{
        outline:none; border-color:#c9a63d; box-shadow:0 0 0 2px rgba(201,166,61,.3);
    }
    .searchandfilter .galeria-mobile-select{
            background-color: var(--color-2) !important;
            color: white;
    }
    .custom-booking-advantages {
        justify-content: center !important;
        gap: 10px !important;
    }
    .custom-booking-advantages > div {
        font-size: 12px !important;
    }
    .custom-booking-advantages img {
        width: 20px !important;
        height: 20px !important;
    }

    .form-field {
        min-width: unset !important;
        width: 100% !important;
    }

    .guests-dropdown {
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: calc(100% - 40px) !important;
        max-width: unset !important;
    }

    .guests-heading, .room-row {
        flex-wrap: wrap !important;
        text-align: center !important;
    }
    .guests-heading > div, .room-row > div {
        flex: 1 1 50% !important;
        margin-bottom: 10px !important;
    }
    .guests-heading .ages-label { 
        flex: 1 1 100% !important; 
        margin-top: 10px !important; 
    }
    .room-name-display { 
        flex: 1 1 100% !important; 
        text-align: center !important; 
        margin-bottom: 10px !important; 
    }
    .remove-room-button { 
        flex: 1 1 100% !important; 
        margin-top: 10px !important; 
    }
    div.menu-group-list > .widget_text > .textwidget > ul{
        grid-template-columns: repeat(1, 1fr) !important;
    }
    .menu-group-list > .widget_text > .textwidget > ul > li:before{
        top: 1px !important;
    }
}

/* ===== CENTRALIZAR ÍCONES NO DESKTOP ===== */

@media (min-width: 1024px){

  .custom-booking-advantages .slick-track{
    display: flex !important;
    justify-content: center !important;
  }

}

/* ===== CORREÇÃO DEFINITIVA DO SLICK MOBILE ===== */

@media (max-width: 1023px){

  .custom-booking-advantages {
    display: block !important;
  }

  .custom-booking-advantages .slick-track{
    display: flex !important;
  }

  .custom-booking-advantages .slick-slide{
    display: flex !important;
    justify-content: center !important;
  }

}
/*----------------------------------------------------------------------------------------------*/


@media (min-width: 1024px){
    .footer-column.footer-3-1{
        text-align: left;
    }
    .footer-column.footer-3-3{
        text-align: right;
    }
    .display-none-desktop{
        display: none !important;
    }
}
@media (max-width: 1023.5px){
    :root{
        /* TAMAÑOS FUENTES */
        --font-size-title-display-big: 42px;
        --font-size-title-display: 40px;
        --font-size-title: 26px;
        --font-size-text-big: 20px;
        --font-size-button: 18px;
        --font-size-title-little: 15px;
        --font-size-text: 14px;
        --font-size-text-little: 14px;
        --font-size-text-small: 9px;
        /* TAMAÑOS INTERLINEADOS */
        --line-height-title-display-big: 55px;
        --line-height-title-display: 50px;
        --line-height-title: 1.2;
        --line-height-text-big: 25px;
        --line-height-button: 1;
        --line-height-title-little: 19px;
        --line-height-text: 19px;
        --line-height-text-little: 20px;
        --line-height-text-small: 14px;
    }
    /* FOOTER */
    .footer-row{
        grid-template-columns: 1fr;
    }
    .footer-2-2 ul.menu{
        display: grid;
        grid-template-columns: 1fr 1fr !important;
        justify-content: center;
        grid-gap: 10px;
    }
    .footer-2-1{
        width: 100%;
    }
    .footer-2-1 img{
        max-width: 150px !important;
    }
    .footer-row-2{
        grid-gap: 5px !important;
    }
    .footer-row-1{
        grid-gap: 25px;
    }
    .footer-row-3{
        grid-gap: 20px;
        margin-top: 30px;
        margin-bottom: 30px;
    }
    .site-footer ul{
        display: grid;
        grid-gap: 10px;
        margin-top: 15px;
        margin-bottom: 15px;
    }
    .footer-1-2 .wpcf7-form p{
        float: left;
        width: 100%;
    }
    .footer-1-2 .wpcf7-form label{
        width: calc(100% - 194px);
        float: left;
    }
    .footer-1-2 .wpcf7-form label input,
    .footer-1-2 .wpcf7-form label > .wpcf7-form-control-wrap{
        width: 100%;
        float: left;
    }
    .footer-1-2 .wpcf7-form label > .wpcf7-form-control-wrap > input{
        float: left;
        max-width: 100%;
        width: 100%;
    }
    .section-galeria-results{
        grid-template-columns: repeat(2, 1fr);
    }
    .footer-1-2 .wpcf7-form .wpcf7-spinner{
        right: -35px !important;
    }
    /* GALERÍA */
    .galeria-search > form > ul > li > ul label:after{
        display: none !important;
    }
    .galeria-search{
        border-bottom: 0px !important;
        padding-bottom: 0px !important;
    }
    .display-none-mobile{
        display: none !important;
    }
    .galeria-search > form > ul > li > ul{
        display: grid !important;
        grid-gap: 5px;
    }
    .galeria-search > form > ul > li > ul > li{
        margin-left: 0px !important;
    }
    .galeria-search > form > ul > li > ul > li > label{
        padding: 15px 15px !important;
        width: calc(100% - 30px);
        text-align: center !important;
    }
    .galeria-menu{
        background: var(--color-2);
        color: var(--color-4);
        padding: 15px;
        width: calc(100% - 30px);
        float: left;
    }
    .galeria-menu *,
    article .the-content .galeria-menu p{
        font-size: var(--font-size-text-big) !important;
        color: var(--color-4) !important;
        float: left;
    }
    .galeria-menu p{
        margin-left: 15px;
    }
    .galeria-menu + form{
        float: left;
        width: calc(100% - 2px);
        border: 1px solid var(--color-2);
    }
    .galeria-menu:not(.active) .galeria-menu-active,
    .galeria-menu.active .galeria-menu-normal,
    .galeria-menu:not(.active) + form{
        display: none !important;
    }
    .bloque-imagen-text-info{
        width: 90%;
        aspect-ratio: auto !important;
    }
    .faqs-questions .ult_exp_section .ult_expheader{
        padding-right: 35px;
    }
    .faqs-questions .ult_exp_section .ult_expheader:after{
        top: calc(50% - 12px);
    }
    .space-div-left.no-space-div-left-mobile .vc_column-inner{
        padding-left: 15px !important;
    }
    .reverse-order-mobile > div:nth-child(1){
        order: 2;
    }
    .slider-image .slick-slide > .wpb_column img{
        height: 14vh !important;
        padding-bottom: 15px;
    }
    .section-carruseles-hotel{
        display: block !important;
        overflow-x: hidden;
        max-width: 100vw !important;
    }
    .section-carruseles-hotel .slider-image,
    .section-carruseles-hotel .slider-text{
        max-width: 100% !important;
        width: 100% !important;
        overflow-x: hidden !important;
    }
    .slider-text > .vc_column-inner{
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .section-carruseles-hotel .slider-image{
        padding-top: 0vh !important;
    }
    .slider-image{
        margin-top: 50px !important;
        margin-bottom: 20px !important;
    }
    .slider-text > .vc_column-inner > .wpb_wrapper{
        padding-left: 0px !important;
        padding-right: 0px !important;
    }
    .slider-image .slick-dots{
        max-width: 55% !important;
        margin-left: 10% !important;
        margin-top: 0px !important;
    }
    .slick-list.draggable{
        height: max-content !important;
    }
    .slider-image .slick-arrow{
        bottom: -1px !important;
    }
    /* HABITACIONES */
    .habitaciones-section-vertical{
        width: 100% !important;
        margin-left: 0% !important;
    }
    .habitaciones-block-section{
        grid-template-columns: 1fr !important;
        grid-gap: 45px !important;
    }
    .habitaciones-options{
        width: 100% !important;
    }
    .habitaciones-options > p{
        text-align: center !important;
    }
    img.habitacion-imagen{
        max-width: 100vw !important;
        width: 100vw !important;
    }
    .habitaciones-section-vertical .slick-dots, .habitaciones-imagenes .slick-dots{
        width: calc(80% - 65px) !important;
        margin-left: 10%;
    }
    .habitaciones-section-vertical .slick-next, .habitaciones-imagenes .slick-next{
        left: auto !important;
        right: 10% !important;
    }
    .habitaciones-section-vertical .slick-prev, .habitaciones-imagenes .slick-prev{
        left: auto !important;
        right: calc(10% + 25px);
    }
    .habitaciones-section-vertical .slick-list{
        width: 100vw !important;
    }
    .habitaciones-opciones-block > *{
        width: 80%;
        margin-left: 10%;
    }
    .hab-scroll{
        height: auto !important;
        overflow-y: auto !important;
    }
    .hab-scroll-column:before,
    .hab-scroll-column:after{
        display: none !important;
    }
    .hab-scroll-column{
        margin-top: 0px !important;
    }
    .hab-scroll > p.hab-scroll-p{
        padding-top: 0px !important;
        padding-bottom: 0px !important;
    }
    img.habitacion-imagen{
        height: 300px !important;
    }
    .habitaciones-imagenes{
        margin-top: 20px !important;
    }
    .habitaciones-section-vertical .vc_tta-panel-heading{
        background-color: var(--color-2) !important;
        border-color: var(--color-2) !important;
        font-family: var(--font-default);
        margin-top: 25px !important;
        margin-bottom: 25px !important;
    }
    .habitaciones-section-vertical .vc_tta-panel-heading a{
        padding-left: 10% !important;
        padding-right: 10% !important;
        font-family: var(--font-title) !important;
        color: var(--color-4) !important;
        font-size: var(--font-size-button) !important;
        line-height: var(--line-height-button) !important;
        font-weight: 400 !important;
    }
    .habitacion-text-block{
        margin-left: 10% !important;
    }
    .habitaciones-section-vertical .vc_tta-panel-body{
        background: none !important;
        border: none !important;
    }
    .habitaciones-section > .title-title{
        width: 80%;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .habitaciones-section-vertical .vc_tta-panels > .vc_tta-panel:not(.vc_active){
        position: relative;
        opacity: 1 !important;
        z-index: 1 !important;
    }
    .habitaciones-section-vertical .vc_tta-panels > .vc_tta-panel:not(.vc_active) .vc_tta-panel-body{
        display: none !important;
    }
    .habitaciones-section-vertical .vc_tta-panel-heading{
        margin-top: 0px !important;
        margin-bottom: 0px !important;
    }
    /* GASTRONOMÍA */
    .block-button-section .textwidget{
        display: flex;
    }
    .block-button-section .textwidget > .selector-opciones{
        margin-left: auto;
        margin-right: auto;
    }
    .section-gastronomia .vc_tta-panel-title .vc_tta-title-text{
        font-size: var(--font-size-button) !important;
        line-height: var(--line-height-button) !important;
        font-family: var(--font-title) !important;
        color: var(--color-4) !important;
    }
    .section-gastronomia .vc_tta-panel-title a{
        background: var(--color-2) !important;
        position: relative;
    }
    .section-gastronomia .vc_tta-panel-title a:after{
        content: "\2b";
        font-family: "Font Awesome 6 Free";
        font-weight: 900 !important;
        position: absolute;
        right: 15px;
        font-size: var(--font-size-button) !important;
        color: var(--color-4) !important;
    }
    .section-gastronomia .vc_tta-panel.vc_active .vc_tta-panel-title a:after{
        content: "\f068";
    }
    .gastronomia-sources-column{
        margin-top: 45px;
    }
    .gastronomia-sources-column .gastronomia-img-2{
        position: relative;
        width: 70% !important;
        top: 0%;
        bottom: 25px;
        margin-top: -10%;
    }
    .gastronomia-sources-column > .vc_column-inner > .wpb_wrapper{
        float: left;
        margin-bottom: 0px;
        height: 100% !important;
    }
    .gastronomia-sources-column > .vc_column-inner > .wpb_wrapper:before{
        width: 40%;
        height: 40%;
        bottom: 48%;
        left: 48%;
    }
    .slider_exp_derecha .slick-slide > img:nth-child(1){
        height: 100% !important;
    }
    .slider_exp_derecha .slick-slide > img:nth-child(2){
        height: max-content !important;
    }
    .slider_exp_izquierda .slick-slide > img:nth-child(1){
        height: max-content !important;
    }
    .slider_exp_izquierda .slick-slide > img:nth-child(2){
        height: max-content !important;
    }
    .slider_exp_derecha{
        left: 0px;
    }
    .experiencias_opc .slider_exp_derecha .slider-image {
        width: 100% !important;
        margin-top: 25px !important;
    }
    .slider_experiencia .slider-image .slick-track{
        display: flex;
        align-items: flex-start !important;
        gap: 15px;
        margin-bottom: 10px !important;
    }
    .slider-image .slick-track{
        margin-bottom: 0px;
    }
    .experiencias_opc .slider_exp_izquierda .slider-image{
        width: 100% !important;
    }
    .menu-image{
        display: none !important;
    }
    .custom-booking-banner-wrapper{
        padding: 0px !important;
    }
    .custom-booking-form-container form {
        flex-direction: row !important;
        align-items: stretch !important;
    }
    /*
    .custom-booking-advantages{
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
    }
    .custom-booking-advantages > *:last-child  {
        grid-column: 1 / 3;
        justify-self: center;
        width: 50%;
        margin-top: 15px !important;
    }*/
    .button-default{
        display: flex !important;
        padding: 13px 25px !important;
    }
    .bloque-imagen-text-info-card{
        max-width: 100%;
    }
    .bloque-imagen-text-section, .bloque-imagen-text-section .bloque-imagen-text-info, .bloque-imagen-text-info-card {
        height: 340px !important;
    }
    .bloque-imagen-text-section .bloque-imagen-text-info{
        height: 435px !important;
    }
    .slick-active .bloque-imagen-text-info-card {
        height: 435px !important;
        max-height: 435px;
    }
    .mes-item a{
        padding: 35px 15px;
    }
    .menu-meses-carrusel-wrapper{
        padding: 5px 0 2px !important;
    }
    .grid-ofertas{
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 15px;
        padding: 0px !important;
    }
    .mes-item{
        padding: 0px;
    }
    .scroll-meses{
        gap: 10px;
        padding: 0px;
    }
    .mes-item.active a{
        padding-top: 35px;
        padding-bottom: 50px;
    }
    .contenedor-ofertas{
        width: auto;
        padding: 40px 15px;
    }
    .popup-oferta{
        width: 88%;
    }
    .popup-imagen{
        width: 20%;
    }
    .popup-info{
        width: 80%;
        padding: 30px 15px
    }
    .popup-info h2{
        font-size: 25px !important;
        margin: 10px 0;
        line-height: 1.2 !important;
    }
    .hab-scroll {
        padding-top: 5px;
        padding-bottom: 5px;
    }
    .botones-contato{
        display: flex;
        flex-direction: column;  
    }
    .habitaciones-section-vertical{
        width: auto !important;
        padding: 0px 10px;
    }
    .selector-mobile .mobile-tabs-select{
        background-color: var(--color-2) !important;
        color: white;
    }
    .uavc-list a{
        font-size: 13px;
    }
    .Oficina_info{
        padding: 15px !important;
    }
    .text-right-padding{
        padding-right: 10px;
    }
    .Oficina_info .textwidget, .Oficina_info .uavc-list-icon {
        padding-left: 0px !important;
    }
    .slick-list.draggable{
        margin-bottom: 5px !important;
    }
    .linea_home{
        display: none !important;
    }
    .fila {
        display: flex;
        align-items: center;
    }
    .logo-paginas{
        position: relative;
        width: 200px;
    }
    .banner-reserva .custom-booking-form-container, .banner-reserva {
        z-index: 9000 !important;
    }/*
    .custom-booking-form-container form{
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
    }*/
    .guests-dropdown{
        margin-top: 10px !important;
        gap: 5px;
        transform: translateX(-50%) !important;
        width: max-content !important;
    }
    .children-ages-row{
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
    }
    .map_home {
        display: none !important;
    }
    .popup-imagen {
        display: none !important;
    }
    p.bloque-imagen-text-info-button {
        position: fixed;
        bottom: 10px;
    }
    .sticky-booking{
        width: 100%
    }
    .custom-booking-advantages {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        width:100% !important;
        justify-content: flex-start !important;
        gap: 21px !important;
        padding: 15px 10px !important;
    }
    .popup-section-media .pop-recurso{
        height: 28% !important;
    }
    .foto_no {
        display: none !important;
    }
    .fotos_kids img {
        width: 70% !important;
    }
    .sticky .end-link {
        padding: 5px 20px !important;
        width: 80% !important;
    }
    .button-default{
        display: inline-block !important;
    }
    .header-col.center .logo-paginas img{
        height: 35px !important;
    }
    .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after{
        left: -7px;
    }
    .header-inner {
        gap: 19px;
    }
    .header-inner > * {
        flex: 1;
        text-align: center;
    }

    .header-inner > *:first-child {
        text-align: left;
    }

    .header-inner > *:last-child {
        text-align: right;
    }
    .wpml-ls-legacy-dropdown a span{
        font-size: 13px;
    }
    .logo-paginas{
        width: auto;
    }
    .sticky-booking.sticky{
        top: 6.4rem !important;
    }
    .cabecera-home-container{
        gap: 10px;
        margin-bottom: calc(100% + 20%);
    }
    .cabecera-home-divider{
        height: 50px !important;
    }
    .cabecera-home-center{
        gap: 13px;
    }
    .cabecera-home-container .cabecera-home-frase1, .cabecera-home-container .cabecera-home-frase3{
        font-size: 13px !important;
    }
    .cabecera-home-container .cabecera-home-frase2, .cabecera-home-container .cabecera-home-frase4{
        font-size: 25px !important;
    }
    .cabecera-home-left, .cabecera-home-right{
        gap: 5px;
    }
    .guests-heading > div, .room-row > div{
        padding: 0px !important;
    }
    .guests-heading, .room-row{
        display: grid !important;
        grid-template-columns: 2fr 2fr 2fr 2fr 1fr !important;
    }
    .guests-dropdown{
        width:100vw !important;
    }
    .counter-control{
        flex-direction: column !important;
        
    }
    .sticky-booking{
        bottom: 15% !important;
    }
    .popup-content{
        justify-content: center !important;
    }
    .cabecera > .cabecera-container{
        margin: auto 15px;
        margin-bottom: calc(100% + 20%);
    }
    .slick-slide{
        height: 200% !important;
        min-height: 40vh !important;
    }
    .bloque-info-flotante-barra{
        position: relative;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
        left: 0px;
        padding: 1rem;
        max-width: 100%;
        height: 100%;
    }
    .bloque-info-flotante-item img{
        max-width: 25px;
    }
    .text_img .vc_column-inner{
        width: 100% !important;
        margin: auto;
    }
    .slider-di--desktop { 
        display:none; 
    }
    .slider-di--mobile { 
        display:block; 
    }
    .slider-image .slick-slide{
        grid: none !important;
    }
    .end-link{
        padding: 1rem 2rem;
    }
    .slick-track{
        display: flex !important;
        align-items: center !important;
    }
    .slider-mobile-height .slick-slide{
        height: 22vh !important;
    }
    .slider-mobile-room .slick-slide {
        height: 32vh !important;
    }
    .slick-slide{
        height: auto !important;
        min-height: 100% !important;
        text-align: center;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }
    .custom-booking-advantages .slick-slide {
        height: auto !important;
        gap: 15px;
    }
    .slider-spa-section .slick-slide{
        height: auto !important;
    }
    .custom-booking-advantages > div span{
        width: max-content !important;
    }

    #omnibeesBookingForm {
        display: flex !important;
        flex-direction: column !important;
    }

    #omnibeesBookingForm .date-range-field {
    grid-column: 1 / -1 !important;
    }

    #omnibeesBookingForm .guests-field {
    grid-column: 1 / 2; 
    }

    #omnibeesBookingForm .promo-field {
    grid-column: 2 / 3; 
    }

    #omnibeesBookingForm .consultar-button {
    grid-column: 1 / -1; 
    }
    .custom-booking-main{
        width: 100% !important;
    }
    .booking-mobile-cta { 
        display: flex; 
        justify-content: center;
        width: 40%;
        background-color: rgba(69, 69, 69, 0.9) !important;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3) !important;
        padding: 0rem 2rem;
    }
    .sticky  .booking-mobile-cta{
        padding: 5px 20px !important;
        width: 80% !important;
    }

      .custom-booking-advantages { 
        display: block !important; 
    }
    .custom-booking-advantages .slick-slide { 
        padding: 0 8px; 
    }
    .custom-booking-advantages .slick-list  { 
        margin: 0 -8px; 
    }
    .custom-booking-advantages .slick-dots{
        display:flex; gap:6px; justify-content:center;
    } 
    .custom-booking-advantages .slick-dots li{ list-style:none; margin:0; }
    .custom-booking-advantages .slick-dots button{
        width:8px; height:8px; border-radius:50%; font-size:0; border:0;
        background:#d0d0d0;
    }
    .custom-booking-advantages .slick-dots .slick-active button{ 
        background:#B8A328; 
    }
    body.booking-open .site-header {
        background: #000 !important;
        position: sticky !important;
    }
    /*.home.booking-open header.site-header:not(.scrolled) ~ main .booking-sheet {
        padding-top: 15vh !important;
    }*/
    .space-div-right > .vc_column-inner{
        padding-right: unset !important;
    }
    


    /* ordenamos: icono (0), input-resumen (1) EN FILA */
    .guests-field > .icono-calendario { order: 0; }
    .guests-field > #guestsSummary     { order: 1; flex: 1 1 auto; }

    /* el dropdown va DEBAJO, a 100% de ancho */
    .guests-field > #guestsDropdown {
    order: 2;
    width: 100%;
    margin-top: 8px;
    }

    /* si el dropdown trae inline style display:none,
    forzamos su apertura cuando el field esté “abierto” */
    .guests-field.is-open > #guestsDropdown {
    display: block !important;
    }
    body .bloque-info-flotante-fondo{
        display: flex !important;
        aspect-ratio: auto !important;
        flex-direction: column !important;
    } 
    .guests-dropdown{
        overflow: scroll !important;
        max-height: 50vh !important;
        
    }
    
    .menu-group-list > .widget_text > .textwidget > ul{
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .galeria-results .pagination{
        overflow-x: scroll;
    }

    .bloque-info-flotante-item{
        display: grid !important;
        grid-template-columns: 15px calc(100% - 25px) !important;
        gap: 10px !important;
        align-items: start;
    }
    .bloque-info-flotante-item .titulo{
        font-size: 12px !important;
        line-height: 1.2 !important;
    }
    .bloque-info-flotante-item .icono{
        position: relative;
        width: 15px;
        height: 15px;
    }
    .bloque-info-flotante-item .icono > img{
        position: absolute;
        top: 5px;
        left: 0px;
    }

}
@media (max-width: 767px){
    .section-galeria-results{
        grid-template-columns: repeat(2, 1fr);
    }

}
@media (max-width: 450px){
    .section-galeria-results{
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-height: 800px) {
    .ult-spacer[data-height="75"]  {
        height: 30px !important;
    }
}
@media (max-height: 600px) {
    .ult-spacer[data-height="75"]  {
        height: 20px !important;
    }
}

/* Desktop/tablet: mostrar bloque de dos imágenes, ocultar slider */
@media (min-width: 768px){
    .gastronomia-sources-column{ display:block; }
    .gastronomia-mobile-only{ display:none; }
}

/* Móvil: ocultar bloque de dos imágenes, mostrar slider */
@media (max-width: 767px){
    .gastronomia-sources-column{ display:none; }
    .gastronomia-mobile-only{ display:block; }
    .habitaciones-imagenes .habitacion-imagen{ width:100%; height:auto; display:block; }
}

@media (min-width: 1500px){
    .menu-group-list > .widget_text > .textwidget > ul > li:before{
        font-size: 18px !important;
        top: 6px !important;
    }
    .menu-group-list > .widget_text > .textwidget > ul > li > a{
        margin-left: 8px !important;
    }
}


/* ===== Layout principal en HOME (desktop y móvil) ===== */
.custom-booking-banner { 
  display: flex; 
  flex-direction: column;
}
.custom-booking-advantages { 
  display: grid; 
  grid-template-columns: repeat(5, minmax(0,1fr)); 
  gap: .75rem; 
  align-items: center;
}
.custom-booking-main { 
    display: flex; 
    flex-direction: column;
    align-items: center;
}
.end-link { text-align: center; }



/* ===== Desktop: ocultar el botón móvil ===== */
@media (min-width: 768px) {
  .booking-mobile-cta { display: none !important; }
}

/* ===== SHEET (overlay de pantalla completa) ===== */
.booking-sheet {
    position: fixed;
    background: #fff;
    z-index: 9999;
    transform: translateY(100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    width: 100vw !important;
    height: 100vh !important;
    transition: transform .28s ease-out, opacity .2s ease-out, visibility 0s linear .28s;
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
}

.booking-sheet.is-open {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: transform .28s ease-out, opacity .2s ease-out;
}

.booking-sheet__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: .75rem 1rem; border-bottom: 1px solid #eee;
}

.booking-sheet__close { 
    appearance:none; 
    background:transparent; 
    border:0; 
    font-size:3rem; 
    line-height:1; 
    cursor:pointer; 
}

.booking-sheet .custom-booking-form-container { 
    max-width: 720px; 
    margin: 0 auto; 
}
.booking-sheet .custom-booking-advantages,
.booking-sheet .end-link { 
    display: block; 
} 




/* Contenedor con relación 16:9 (ajústalo si necesitas 4:3, 21:9, etc.) */
.slider-media .media-box {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  --ratio: calc(9 / 16 * 100%);
}
@supports not (aspect-ratio: 1 / 1) {
  .slider-media .media-box { 
    height: 0;
    padding-top: var(--ratio); 
  }
}

/* Todo el contenido ocupa el contenedor y recorta igual */
.slider-media .media-box > .media,
.slider-media .media-box > img,
.slider-media .media-box > video,
.slider-media .media-box > iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;      /* Clave para que imagen/video se recorten igual */
  object-position: center;
  border: 0;              /* iframes */
}

/* Si usas slick, evita saltos de altura */
.slider-media.slick-slider { 
    overflow: hidden; 
}
.slick-list, .slick-track { 
    height: 100%; 
}

.embed-video video{
    height: 100% !important;
}

a.last {
    width: auto !important;
}
a.first {
    width: auto !important;
}
span.extend{
    display: none !important;
}

.wp-pagenavi a {
    padding: 0px 10px !important; 
}


/* =====================================================
   VC TABS – Wrap apenas abaixo de 1500px
===================================================== */

/* ===== ACIMA de 1500px (layout original intacto) ===== */
@media (min-width: 1501px) {

  .vc_tta-tabs-list {
    display: flex !important;
    flex-wrap: nowrap !important; /* mantém tudo na mesma linha */
  }

}


/* ===== ABAIXO de 1500px (ativa quebra de botão) ===== */
@media (max-width: 1500px) {

  .vc_tta-tabs-list {
    display: flex !important;
    flex-wrap: wrap !important; /* permite quebrar botão */
    gap: 19px;
  }

  .vc_tta-tabs-list > li {
    flex: 0 0 auto !important; /* botão mantém tamanho natural */
    min-height: 65px;
    display: flex;
  }

  .vc_tta-tabs-list > li > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    white-space: nowrap; /* texto continua em uma linha */
    padding: 0 16px;
  }
}