.elementor-127708 .elementor-element.elementor-element-6f66a03{--display:flex;}.elementor-127708 .elementor-element.elementor-element-ef9c779{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:var(--size-s) var(--size-s);--row-gap:var(--size-s);--column-gap:var(--size-s);}.elementor-127708 .elementor-element.elementor-element-ab3ffc2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:var(--size-m) var(--size-m);--row-gap:var(--size-m);--column-gap:var(--size-m);}.elementor-127708 .elementor-element.elementor-global-2466{width:initial;max-width:initial;z-index:1;}.elementor-127708 .elementor-element.elementor-global-2466 > .elementor-widget-container{margin:0 auto 0 auto;}.elementor-127708 .elementor-element.elementor-global-2466 .elementor-icon-wrapper{text-align:center;}.elementor-127708 .elementor-element.elementor-global-2466 .elementor-icon{font-size:32px;}.elementor-127708 .elementor-element.elementor-global-2466 .elementor-icon svg{height:32px;}.elementor-127708 .elementor-element.elementor-element-849b843{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-127708 .elementor-element.elementor-element-0fd72d7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-127708 .elementor-element.elementor-element-370bda1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-127708 .elementor-element.elementor-element-4aaf129 .elementor-heading-title{font-family:var( --e-global-typography-adfa3ce-font-family ), Sans-serif;font-size:var( --e-global-typography-adfa3ce-font-size );font-weight:var( --e-global-typography-adfa3ce-font-weight );text-transform:var( --e-global-typography-adfa3ce-text-transform );}.elementor-127708 .elementor-element.elementor-element-d4447aa{--display:flex;}.elementor-127708 .elementor-element.elementor-element-fb72f64{--display:flex;}.elementor-127708 .elementor-element.elementor-element-a34d978{--display:flex;}.elementor-127708 .elementor-element.elementor-global-9176 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-127708 .elementor-element.elementor-global-9176 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-127708 .elementor-element.elementor-global-9176{--titles-container-justify-content:center;--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;--galleries-title-color-hover:var( --e-global-color-52235058 );--gallery-title-color-active:var( --e-global-color-52235058 );}.elementor-127708 .elementor-element.elementor-global-9176 .elementor-gallery-title{font-family:var( --e-global-typography-013566d-font-family ), Sans-serif;font-size:var( --e-global-typography-013566d-font-size );font-weight:var( --e-global-typography-013566d-font-weight );text-transform:var( --e-global-typography-013566d-text-transform );letter-spacing:var( --e-global-typography-013566d-letter-spacing );}@media(max-width:1024px){.elementor-127708 .elementor-element.elementor-element-4aaf129 .elementor-heading-title{font-size:var( --e-global-typography-adfa3ce-font-size );}.elementor-127708 .elementor-element.elementor-global-9176 .elementor-gallery-title{font-size:var( --e-global-typography-013566d-font-size );letter-spacing:var( --e-global-typography-013566d-letter-spacing );}}@media(max-width:767px){.elementor-127708 .elementor-element.elementor-global-7687 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-127708 .elementor-element.elementor-global-7687 img{max-width:272px;}.elementor-127708 .elementor-element.elementor-element-4aaf129 .elementor-heading-title{font-size:var( --e-global-typography-adfa3ce-font-size );}.elementor-127708 .elementor-element.elementor-global-9176 .elementor-gallery-title{font-size:var( --e-global-typography-013566d-font-size );letter-spacing:var( --e-global-typography-013566d-letter-spacing );}}/* Start custom CSS for global, class: .elementor-global-2466 */.elementor-127708 .elementor-element.elementor-global-2466.icon-scroll-down {
    margin: 0 auto !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6f66a03 *//* ==========================================================================
   1. ESTRUCTURA Y CONTENEDOR
   ========================================================================== */
.elementor-container:has(.rooms-listing-wrapper) {
  max-width: 100% !important;
}

.rooms-listing-wrapper .rooms-listing .room-item {
  position: relative;
  margin-block-end: 6.25rem;
}

/* ==========================================================================
   2. DIVISOR DE TARJETAS (Solo si existe otra tarjeta después)
   ========================================================================== */
.room-item:has(~ .room-item)::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: -3.125rem; /* Centrado en el margen inferior de 6.25rem */
  width: 100%;
  height: 1px;
  background-color: #d1d5db;
}

/* ==========================================================================
   3. CONTENIDO E IMÁGENES
   ========================================================================== */
.cat-rooms .room-item img {
  aspect-ratio: 2;
  object-fit: cover;
  min-height: 360px;
  height: auto !important;
}

.room-box .room-content {
  padding-inline-end: 50px;
}

.rooms-listing-wrapper.alternate .rooms-listing .room-item.odd .room-detail,
.rooms-listing-wrapper.alternate .rooms-listing .room-item.odd .room-content {
  float: right;
  padding-inline-start: 50px !important;
}

/* ==========================================================================
   4. RESPONSIVE (TABLET & MOBILE)
   ========================================================================== */
@media (max-width: 991px) {
  /* Reset de paddings */
  .room-box .room-content {
    padding-inline-end: 0;
  }
  
  .rooms-listing-wrapper .rooms-listing .room-item {
      margin-block-end: 2rem;
    }


  .rooms-listing-wrapper.alternate .rooms-listing .room-item.odd .room-detail,
  .rooms-listing-wrapper.alternate .rooms-listing .room-item.odd .room-content {
    padding-inline-start: 0 !important;
  }

  /* Oculta el divisor en dispositivos móviles */
  .room-item::after {
    display: none;
  }
}

@media (min-width: 1025px) {
    /* 1. Desactivamos la caja del contenedor Elementor para que no limite la altura */
    body.page-template-tpl-rooms-listing [data-elementor-type="wp-page"] {
        display: contents;
    }

    /* 2. Asignamos el comportamiento Sticky al contenedor del Nav */
    body.page-template-tpl-rooms-listing .elementor-element-cb3f685 {
        position: sticky;
        top: 0;
        z-index: 999;
    }
}


/* ==========================================================================
   FOCO ACCESIBLE: LISTADO DE HABITACIONES
   ========================================================================== */

/* 1. IMAGEN (Línea Blanca) */
.room-box .room-image-link {
    position: relative;
    display: block;
    outline: none !important;
}

.room-box .room-image-link:focus-visible::after,
.room-box .room-image-link:focus::after {
    content: "";
    position: absolute;
    inset: 4px; /* Hacia adentro de la imagen */
    border: 3px solid #FFFFFF;
    border-radius: inherit;
    pointer-events: none;
    z-index: 10;
}

/* 2. BOTÓN "MÁS INFORMACIÓN" (Línea Negra) */
.room-content .more-info {
    position: relative;
    outline: none !important;
}

.room-content .more-info:focus-visible::before,
.room-content .more-info:focus::before {
    content: "";
    position: absolute;
    inset: -4px; /* Hacia afuera del botón */
    border: 2px solid #000000; 
    border-radius: 4px;
    pointer-events: none;
    z-index: 10;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-849b843 */.elementor-127708 .elementor-element.elementor-element-849b843{
    z-index: 4 !important;
}/* End custom CSS */
/* Start custom CSS for global, class: .elementor-global-9176 */.elementor-127708 .elementor-element.elementor-global-9176 .elementor-gallery-title {
    text-align: center;
}

/* Custom Flickity */
.elementor-127708 .elementor-element.elementor-global-9176 .elementor-gallery__titles-container {
    display: block;
}

.elementor-127708 .elementor-element.elementor-global-9176[data-custom-flickity-params] .elementor-gallery__titles-container {
        padding: 0 30px;
}

.elementor-127708 .elementor-element.elementor-global-9176[data-custom-flickity-params] .carousell-cell {
    width: 25%;
    width: clamp(200px, 25%, 480px);
    margin-right: 0px;
}

.elementor-127708 .elementor-element.elementor-global-9176[data-custom-flickity-params] .flickity-prev-next-button.previous {
    left: 0px;
}

.elementor-127708 .elementor-element.elementor-global-9176[data-custom-flickity-params] .flickity-prev-next-button.next {
    right: 0px;
}/* End custom CSS */