.custom-menu-hotel.mfixed{
    position:fixed;
    top:110px;
    width:80%;
    z-index:3;
    background:var(--colorPrimary);
    border-radius:20px;
}
.editMode .custom-menu-hotel.mfixed{
    position:relative;
    top:0;
}
.wrapper-progress-nav,.editMode .htt-text-image:has(.wrapper-progress-nav){
    display:none !important;
}
.back-home{
    position: fixed;
    top: 120px;
    left: 5%;
    z-index:3;
}
.back-home a{
    background: #fff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-weight: 600;
    font-size: 16px;
    padding: 8px; 
}
.editMode .back-home{
    position:relative;
    top:0;
}
.back-home a{
    color: #fff;
}
.containerTxtSlide.hero-hotel{
    top: 30%;
}
.containerTxtSlide.hero-hotel p.titleHero,
.containerTxtSlide.hero-hotel h1.titleHero{
    font-size: 52px !important;
}
p.main-title{
    font-size: 48px;
    font-weight: 400;
}
body p.main-title{
    line-height:1.3em;
}
p.main-title span{
    font-size:70px;
}
p.titleHero.stars{
    line-height:.5;
}
p.sub-title.stars{
    font-size:48px;
    font-size: 48px;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 3.5px;
    margin-bottom: 0;
}
h1:not(h1.subtitle,h1.titleHero){
    font-size:48px;
}
h2{
    font-weight:400;
    font-size:32px;
}
.ubicacion-home img{
     filter: brightness(0.65) saturate(1.1);
}
.custom-menu-hotel ul{
    display:flex;
    justify-content:center;
    gap:8px;
    list-style-type:none;
    padding:10px;
    margin-bottom:0;
}
.custom-menu-hotel a{
    font-size:16px;
    font-weight:400;
    border:1px solid #DADADA;
    border-radius:4px !important;
    padding:12px 20px;
    color:var(--colorText);
    transition:.5s all;
}
.custom-menu-hotel.mfixed a{
    padding:8px 20px;
    color:#fff;
}
.custom-menu-hotel.mfixed.club a{
    color:var(--colorPrimary) !important;
}
.custom-menu-hotel a.active,.custom-menu-hotel a:hover{
    background:var(--colorPrimary);
    border-color:var(--colorPrimary);
    color:#fff;
}
.custom-menu-hotel.mfixed a.active,.custom-menu-hotel.mfixed a:hover{
    background:#fff;
    color:var(--colorPrimary);
    border-color:#fff;
}
.services-home{
     border:1px solid rgba(20, 22, 21, 0.10);
     padding:24px;
     border-top-left-radius:var(--bRadius);
     border-top-right-radius:var(--bRadius);
     column-count:2;
     column-gap:24px;
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 1rem 2rem; /* filas y columnas */
}
.service-item {
  display: flex;
  align-items: center;
  gap:10px;
}
.service-item .icon {
  width: 30px; /* igual para todos */
  text-align: center;
  flex-shrink: 0;
}
.service-item .text {
  flex: 1;
  padding-left: 0.5rem;
}
.more-services{
     border:1px solid rgba(20, 22, 21, 0.10);
     border-top:none;
     padding:10px 24px;
     cursor:pointer;
}
.more-services .fa-plus{
    color:var(--colorPrimary);
}
.services-room {
    display: flex;
    flex-direction: column;
}
.services-room span {
    display: flex;
    align-items: center;
    gap: 8px;
}
.more-services p{
    margin-bottom:0;
}
/*Hotelverse*/
.fancybox__content#map-hotelverse{
    width:65%;
}
.fancybox__content#map-hotelverse>div{
    width:100%;
}
.link-hotelverse{
    border: 2px solid var(--colorPrimary);
    padding:20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-radius:var(--bRadius);
    transition:.5s all;
}
.link-hotelverse.link-map{
    border:1px solid rgba(20, 22, 21, 0.10);
    border-radius:0;
    border-bottom-left-radius:var(--bRadius);
    border-bottom-right-radius:var(--bRadius);
    padding:10px 24px;
    justify-content:center;
    gap:0;
    border-top:none;
}

.link-hotelverse p{
    margin-bottom:0;
    flex:1;
    position:relative;
}
.link-hotelverse p a{
    color:var(--colorText);
    font-weight:500;
}
.link-hotelverse p a:not(.link-hotelverse.link-map p a){
    position: absolute;
    width: 100%;
    padding: 0 10px;
}
.link-hotelverse.link-map p{
    flex:none;
}
.link-hotelverse.link-map p a{
    font-weight:300;
    padding:0 5px;
}
.link-hotelverse:hover:not(.link-hotelverse.link-map){
    background:var(--colorPrimary);
}
.link-hotelverse:hover:not(.link-map) p a {
    color: #fff !important;
}
.link-hotelverse:hover:not(.link-map) .colorPrimary {
    color: #fff !important;
}

/*.link-hotelverse:hover:not(.link-hotelverse.link-map) .colorPrimary,
.link-hotelverse:not(.link-hotelverse.link-map) p a{
    color:#fff !important;*/
}
.custom-container-services {
  margin-block: 1.5rem;
  padding-inline: 1rem;
}
.custom-grid-services {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  column-gap: 4rem;
}

.custom-col {
  display: flex;
  align-items: center;
  gap:5px;
  font-size: 1rem;
}

/* Separación entre icono y texto */
.custom-col i {
  margin-right: 1rem;
}

/** Columnas Modal Servicios**/

 .list-columns ul {
  column-count: 2;
  column-gap: 4rem;
  margin: 0;
  padding:0;
}
#pop-services.fancybox__content{
    padding: 2rem 4rem;
}
/**End Columnas Modal Servicios**/
 
.nav-tabs:not(.grid-offers .nav-tabs){
    border: none;
    gap:12px;
}
.nav-tabs .nav-link:not(.grid-offers .nav-tabs .nav-link){
    padding:6px 12px;
    border-radius:var(--bRadius);
    font-weight:400;
    border:1px solid #D8D8D8;
    color:var(--colorText);
}
.nav-tabs .nav-link.active:not(.grid-offers .nav-tabs .nav-link.active,.custom-menu-hotel a.active), 
.nav-tabs .nav-link:not(.grid-offers .nav-tabs .nav-link):hover{
    background:var(--colorPrimary);
    border:1px solid var(--colorPrimary);
    color:#fff;
}
/*Galería home*/
.gallery-grid2-2 .lightbox .image{
    display:none;
}
.gallery-grid2-2 .lightbox .image:nth-child(-n+4){
    display:block;
}
.gallery-grid2-2 .lightbox .image img, .swiper-galeria img{
    filter:brightness(.9);
}
.swiper-galeria img{
    border-radius:var(--bRadius);
}
/*Vídeo galería home*/
.video-gallery video{
    object-fit:cover;
    margin-top:10px;
}
/*Tripadvisor*/
.htt-text-image:has(.grid-premios){
    height:100%;
}
.grid-premios{
    height: 100%;
    width: 100% !important;
    border-radius:var(--bRadius);
    border:1px solid rgba(20, 22, 21, 0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction:column;
    padding:14px;
}
.grid-premios>div{
    width:100%;
    padding:10px;
}
.tripadvisor p span{
    font-weight: 700;
    color: #000;
    font-size:14px;
    display:block;
    text-align:center;
}
.premios{
    display: flex;
    justify-content: center;
    gap: 20px;
    border-top: 1px solid rgba(20, 22, 21, 0.10);
    padding-top: 20px;
}
.solo-premios{
    display: flex;
    justify-content: center;
    gap: 20px;
}
.premios img{
    max-height:80px;
    width:auto;
}
.solo-premios img{
    max-height:140px;
    width:auto;
}
.cdsROW.narrow a{
    font-family:var(--fontPrimary) important);
}
/*.col:has(.hover-gallery){
    padding:0;
}*/
.swiper-mice img.img-responsive{
    min-height:400px;
}
a.more-photos{
    position:absolute;
    bottom:20px;
    right:32px;
    background:var(--colorPrimary);
    border-radius:var(--bRadius);
    padding:5px 10px;
    color:#fff;
    font-size:16px;
}
.tabs-gallery .tab-pane>.container-fluid{
    position:relative;
    padding:0;
}
a.link-gallery{
    position: absolute;
    top: -80px;
    right: 12px;
    padding: 6px 12px;
    border-radius: var(--bRadius);
    color: var(--colorPrimary);
    border: 1px solid var(--colorPrimary);
    transition:.5s all;
}
a.link-gallery:hover{
    background:var(--colorPrimary);
    color:#fff;
}
.gallery-grid2-2 .right a.link-gallery{
    position:relative;
    top:auto;
    right:0;
}
.editMode a.link-gallery{
    position:relative;
    top:0;
}
p.icon-services{
    font-size:14px;
    text-transform:uppercase;
    font-weight:500;
    display:flex;
    justify-content:center;
    gap:16px;
    color:var(--colorPrimary);
}
p.location-home,p.location-home a{
    color:#444;
    font-size:16px;
}
p.location-home{
    display:flex;
    justify-content:start;
    gap:10px; 
    flex-wrap: wrap;
}
p.location-home span{
    min-width:max-content;
}
p.location-home i{
    margin-right:8px;
    color:rgba(68,68,68,.5);
}
.swiper-gastronomia img.img-responsive{
    min-height:90vh;
}
.swiper-gastronomia .swiper-slide>div{
    position:relative;
}
.swiper-gastronomia .swiper-slide>div>div{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:center;
    padding:64px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 52.5%, rgba(0, 0, 0, 0.40) 100%);
}
.swiper-pagination h3{
    font-size:48px;
}
.swiper-gastronomia .swiper-pagination{
    position:absolute !important;
}
.swiper-gastronomia .swiper-pagination .swiper-pagination-bullet,
.gastronomia .swiper-pagination-bullet{
    background:#fff;
    opacity:1;
}
.swiper-gastronomia .swiper-pagination .swiper-pagination-bullet-active,
.gastronomia .swiper-pagination .swiper-pagination-bullet-active,
.gastronomia-3 .swiper-pagination .swiper-pagination-bullet-active{
    background:var(--colorPrimary);
}
.gastronomia .swiper-pagination-bullets,.gastronomia-3 .swiper-pagination-bullets{
    position:absolute !important;
}
.ubicacion-home>div{
    position:relative;
}
.ubicacion-home img.img-responsive{
    height: 80vh !important;
}
.text-ubicacion{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding: 64px;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.10) 0%, rgba(0, 0, 0, 0.10) 45.75%);
}
.text-ubicacion h2{
    font-size:96px;
}
/*Habitaciones*/
/*.room .swiper, .room .swiper-slide, .room .swiper-slide>div,
.room img.img-responsive{
    height:100%;
}*/
.habitaciones .swiper-slide img.img-responsive{
    max-height:400px;
}
.room>.row>div{
    align-content:flex-end;
}
.room .swiper-pagination{
    position:absolute !important;
}
.room .swiper-pagination-bullet{
    background:#fff;
    opacity:1;
}
.room .swiper-pagination-bullet-active{
    background:var(--colorPrimary);
}
.room > .row {
    --bs-gutter-x: 4.5rem !important;
}
.room .swiper img.img-responsive{
    max-height:72vh;
}
.card-room, .room-content{
    height:100%;
}
.room .text-section-room h2~p{
    margin-bottom:0;
}
.room .text-section-room a.btn-book{
    margin-top:12px;
}
.swiper-autoheight .swiper-wrapper:has(.card-room){
    height:100% !important;
    transition-property:transform !important;
    align-items:stretch !important;
}
.swiper-slide:has(.card-room){
    display:flex;
    flex-direction:column;
}
.room-content{
    display: flex;
    flex-direction: column;
}
.text-room {
    text-wrap: balance;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content:space-around;
}
.text-room p:has(a.btn-book){
    margin-top:20px;
}
/*.text-room p:has(.btn-book){
    flex: 1;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin-top:20px;
}*/
.grid-img-experiences{
    display: flex;
    gap: 20px;
}
.grid-img-experiences img{
    min-height:500px;
}
/*Ubicación*/
.flex-location{
    display: flex;
    height: 80px;
    padding: 8px 12px 8px 8px;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    border: 1px solid #DEDEDE;
    background: #FFF;
    border-radius:var(--bRadius);
}
.flex-location.distance{
    height:auto;
}
.flex-location.distance i {
    padding: 10px 26px;
}
.col:has(.htt-text-image .flex-location){
    padding:0;
}
.flex-location img{
    border-radius:var(--bRadius);
    object-fit:cover;
}
.flex-location>div:first-child{
    display:flex;
    align-items:center;
    gap:16px;
}
.flex-location p{
    margin-bottom:0;
}
.flex-location p.right{
    font-weight:500;
}
.flex-location a.btn-book{
    background: var(--colorPrimary);
    text-transform: none;
    min-width: auto;
    padding:12px 16px;
}
/*Meter capa overlay a mapa para no interaccionar con menú scroll*/
.map-hotel div:has(>iframe), .habitaciones div:has(>.swiper){
    position:relative;
}
.map-hotel div:has(>iframe):before,.habitaciones div:has(>.swiper):before{
    content:"";
    position:absolute;
    width:100%;
    height:100%;
    left:0;
    z-index:2;
}
.map-hotel div:has(>iframe):hover:before, .habitaciones div:has(>.swiper):hover:before{
    content:none;
}
.text-magnus{
    padding:32px;
    border-top-left-radius:var(--bRadius);
    border-top-right-radius:var(--bRadius);
}
.text-magnus h2 span.colorLima, .text-magnus h2 .white span.colorLima{
    color:#fff !important;
}
.img-magnus>.row>div{
    padding:0;
}
.img-magnus img{
    border-radius:0;
}
.img-magnus>.row>div:first-child img{
    border-bottom-left-radius:var(--bRadius);
}
.img-magnus>.row>div:last-child img{
    border-bottom-right-radius:var(--bRadius);
}
/*Premios*/
.swiper-premios .swiper-wrapper{
    justify-content:center;
}
.swiper-premios .swiper-slide{
    text-align:center;
}
.swiper-premios .swiper-slide img{
    max-height:100px;
    width:auto;
}
/*Páginas interiores fichas*/
.header,.custom-menu-hotel{
    position:relative !important;
}
.header.hfixed,.custom-menu-hotel.mfixed{
    position:fixed !important;
}
.editMode .header.hfixed,.editMode .custom-menu-hotel.mfixed{
    position:relative !important;
}
.header .access-right .white, .header .bi-person-fill,
.header .group-languages-texts .btn-secondary.open-selector-language,
.header nav.menu-desktop a, .header p,.open-selector-language span:after{
    color:var(--colorPrimary) !important;
}
.header .logo img,.header .navbar-toggler-icon:not(.menu-open .navbar-toggler-icon){
    filter:none !important;
}
@media(min-width:768px) and (max-width:1024px){
    .back-home{
        top:150px;
    }
}
@media(min-width:768px){
#pop-services{
    padding:24px;
    border:1px solid rgba(20, 22, 21, 0.10);
    border-top:none;
    border-bottom-left-radius:var(--bRadius);
    border-bottom-right-radius:var(--bRadius);
}
.show .more-services{
    border-bottom:none;
}
.show .more-services .fa-plus:before{
    content:"\f068";
}
#pop-services ul{
    /*list-style-type:none;*/
    padding-left:20px !important;
}
.row:has(.more-services.show){
    align-items:flex-start;
}
.gallery-grid2-2 {
    position:relative;
}
.gallery-grid2-2 .lightbox {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 10px;
    position:relative;
    cursor:pointer;
  }
  
.gallery-grid2-2 .lightbox .image {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden;
    aspect-ratio: 16 / 9;
  }
.gallery-grid2-2 .lightbox .image a{
     width:100%;
     height:100%;
 }
.gallery-grid2-2 .lightbox .image img {
    display: block !important;
    height:100%;
    object-fit:cover;
  }
.gallery-grid2-2 .lightbox .image:nth-child(1) { grid-column: span 2; grid-row: span 1;}
.gallery-grid2-2 .lightbox .image:nth-child(2) { grid-column: span 1; grid-row: span 1;}
.gallery-grid2-2 .lightbox .image:nth-child(3) { grid-column: span 1; grid-row: span 1;}
.gallery-grid2-2 .lightbox .image:nth-child(4) { grid-column: span 2; grid-row: span 1;}
.swiper-premios .swiper-slide{
    max-width:15% !important;
}
}
@media(min-width:1025px){
    #pop-services.fancybox__content{
    max-width: 50%;
    }
}
@media(max-width:1680px){
    .ubicacion .title:has(p.location-home):not(.ubicacion .title#ubicacion:has(p.location-home)){
        flex-direction:column;
        align-items:flex-start !important;
    }
}
@media(max-width:1440px){
    .paddTop200 {
        padding-top: 180px !important;
    }
    .custom-menu-hotel.mfixed{
        position: fixed;
        top: 90px;
        border-radius: 0;
        width: 100%;
        left:0;
    }
    .custom-menu-hotel.mfixed a{
        padding:6px 18px;
    }
    .fancybox__content#map-hotelverse{
        width:100%;
    }
    .room .swiper img.img-responsive{
        max-height:80vh;
    }
}
@media(max-width:1366px){
    .nav-tabs:not(.grid-offers .nav-tabs){
        gap:8px;
    }
}
@media(max-width:1280px){
     a.link-gallery{
        top:-30px;
    }
    .tabs-gallery .lightbox{
        margin-top:20px;
    }
}
@media(max-width:1199px){
    section:has(.custom-menu-hotel ul)>.mTop120{
        margin-top:20px !important;
    }
    .custom-menu-hotel ul{
        display:none;
    }
    .grid-premios{
        margin-top:20px;
    }
    .paddTop200 {
        padding-top: 80px !important;
    }
    .img-magnus>.row>div:nth-child(3) img,.img-magnus>.row>div:last-child img{
        display:none;
    }
    .img-magnus>.row>div:nth-child(2) img{
        border-bottom-right-radius:var(--bRadius);
    }
}
@media(max-width:1024px){
    .text-ubicacion h2{
        font-size:64px;
    }
    .swiper-gastronomia .swiper-slide>div>div,.text-ubicacion{
        padding:20px;
    }
}
@media (max-width: 991px) {
  .list-columns ul {
    column-count: 1;
  }
 .room .swiper img.img-responsive,
 .room .swiper-wrapper{
    max-height:50vh;  
 }
.room .swiper-wrapper{
    margin-top:20px;
}
p.location-home span{
    min-width:auto;
    display:flex;
}
}
@media(max-width:767px){
    h1:not(h1.subtitle,h1.titleHero){
        font-size:36px;
    }
    h2{
        font-size:28px;
    }
    p.main-title span{
        font-size:40px;
    }
    .containerTxtSlide.hero-hotel p.titleHero,
    .containerTxtSlide.hero-hotel h1.titleHero{
        font-size: 42px !important;
        line-height: 52px;
    }
    .text-ubicacion h2{
        font-size:48px;
    }
     .header .grid-menu .logo img{
        filter:none !important
    } 
    .video-gallery video{
        max-height:200px;
    }
   .back-home{
     top:160px;
    }
    .grid-img-experiences{
        flex-direction:column;
    }
    .link-hotelverse{
        padding:20px 10px;
    }
    .link-hotelverse p a:not(.link-hotelverse.link-map p a){
        line-height:1.2em;
    }
    .fancybox__slide{
        width:100vw;
    }
    #pop-services.fancybox__content{
        width:100vw;
        height:100vh;
        display:flex;
        justify-content:center;
        position:fixed;
        top:0;
    }
    .fancybox__content{
        width:100vw;
    }
    .fancybox__container:has(#pop-services) {
        pointer-events:none;
    }
    .fancybox__container:has(#pop-services) button.is-close-btn{
        pointer-events:auto;
    }
    .fancybox__content#map-hotelverse{
        width:100vw;
        height: 100vh;
        display: flex;
        justify-content: center;
    }
    .fancybox__slide:has(#map-hotelverse)::before, .fancybox__slide:has(#map-hotelverse)::after,
    .fancybox__slide:has(#pop-services)::before, .fancybox__slide:has(#pop-services)::after{
        content:none;
    }
    .fancybox__viewport:has(#map-hotelverse){
        width:100vw;
    }
    body *:has(>.hv-module){
        height:70vh !important;
    }
    .flex-location{
        padding:8px;
        height: auto;
    }
    .flex-location a.btn-book{
        padding:10px;
    }
    .flex-location p, .flex-location a.btn-book{
        font-size:14px;
    }
    .flex-location img{
        height:50px;
        width:50px;
    }
    .flex-location>div:first-child{
        gap:8px;
    }
    p.location-home{
        gap: 2px;
        flex-direction: column;
        text-align: left !important;
    }
    .custom-grid-services {
        grid-template-columns: 1fr;
    }
    .room .row {
        display: flex;
        flex-direction: column-reverse;
    }
    .room h2 {
        margin-top: 20px;
    }
    .services-room {
        display: flex;
        flex-direction: row;
        justify-content: start;
        gap: 80px;
    }
    .services-home {
        grid-template-columns: 1fr;
    }
    .swiper-galeria .swiper-wrapper{
        flex-wrap:nowrap !important;
        min-height:auto !important;
    }
    .gallery-grid2-2 .lightbox .image{
        width:100% !important;       
    }
   /* .gallery-grid2-2 .lightbox .image:nth-child(-n+4){
        display:none;
    }*/
    .gallery-grid2-2 .lightbox .image:first-child{
        display:block;
    }
    .swiper-galeria{
        margin-top:45px;
    }
    a.link-gallery{
        top:-20px;
    }
    .swiper-galeria .swiper-pagination{
        display:none;
    }
    p.main-title{
        font-size: 28px;
        font-weight: 400;
    }
    .img-magnus>.row>div:nth-child(2) img{
        display:none;
    }
    .img-magnus>.row>div:first-child img{
        border-bottom-right-radius:var(--bRadius);
    }
    .ubicacion iframe{
        max-height:400px;
    }
    .text-ubicacion p.w60{
        line-height:1.5em;
    }
    .ubicacion-home img.img-responsive{
        height:90vh !important;
    }
    
 
    
}

