.elementor-127912 .elementor-element.elementor-element-548ffc8{--display:flex;}.elementor-127912 .elementor-element.elementor-element-352ec27{--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-127912 .elementor-element.elementor-element-85a96da{--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-127912 .elementor-element.elementor-global-2466{width:initial;max-width:initial;z-index:1;}.elementor-127912 .elementor-element.elementor-global-2466 > .elementor-widget-container{margin:0 auto 0 auto;}.elementor-127912 .elementor-element.elementor-global-2466 .elementor-icon-wrapper{text-align:center;}.elementor-127912 .elementor-element.elementor-global-2466 .elementor-icon{font-size:32px;}.elementor-127912 .elementor-element.elementor-global-2466 .elementor-icon svg{height:32px;}.elementor-127912 .elementor-element.elementor-element-cb3f685{--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-127912 .elementor-element.elementor-element-731b775{--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-127912 .elementor-element.elementor-element-afe2fed{--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-127912 .elementor-element.elementor-element-fed848b .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-127912 .elementor-element.elementor-element-a00b24d .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-127912 .elementor-element.elementor-element-dbb16c5{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-127912 .elementor-element.elementor-element-c56decd{--grid-columns:1;}@media(max-width:1024px){.elementor-127912 .elementor-element.elementor-element-fed848b .elementor-heading-title{font-size:var( --e-global-typography-adfa3ce-font-size );}.elementor-127912 .elementor-element.elementor-element-a00b24d .elementor-heading-title{font-size:var( --e-global-typography-adfa3ce-font-size );}.elementor-127912 .elementor-element.elementor-element-c56decd{--grid-columns:2;}}@media(max-width:767px){.elementor-127912 .elementor-element.elementor-global-4260 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-127912 .elementor-element.elementor-global-4260 img{max-width:272px;}.elementor-127912 .elementor-element.elementor-element-fed848b .elementor-heading-title{font-size:var( --e-global-typography-adfa3ce-font-size );}.elementor-127912 .elementor-element.elementor-element-a00b24d .elementor-heading-title{font-size:var( --e-global-typography-adfa3ce-font-size );}.elementor-127912 .elementor-element.elementor-element-c56decd{--grid-columns:1;}}/* Start custom CSS for global, class: .elementor-global-2466 */.elementor-127912 .elementor-element.elementor-global-2466.icon-scroll-down {
    margin: 0 auto !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-548ffc8 *//* ==========================================================================
   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 heading, class: .elementor-element-a00b24d *//* Elemento oculto en front */
.elementor-editor-active .sr-only {
  position: relative !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  background-color: rgba(173, 216, 230, 0.4) !important;
  border: 1px dashed #0288d1 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dbb16c5 */.elementor-127912 .elementor-element.elementor-element-dbb16c5{
    content-visibility: hidden;
    display: none;
}

/* ==========================================================================
   COMPONENTE: LOOP LISTING ROOMS (.mft-listing-rooms-c)
   ========================================================================== */

/* 1. Limpieza de gaps por defecto del grid nativo de Elementor */
.mft-listing-rooms-c .elementor-widget-container .elementor-grid {
    --grid-column-gap: 0px;
    --grid-row-gap: 0px;
    grid-column-gap: var(--grid-column-gap, 0px) !important;
    grid-row-gap: var(--grid-row-gap, 0px) !important;
    padding-block-start: var(--size-xs, 1rem);
}

.mft-listing-rooms-c {

    /* 2. Contenedor principal de la lista */
    .elementor-loop-container {
        display: flex;
        flex-direction: column;
        width: 100%;

        > .e-loop-item + .e-loop-item {
            position: relative;
            margin-block-start: var(--size-l, 5rem) !important;
            padding-block-start: var(--size-l, 5rem);

            &::after {
                content: "";
                position: absolute;
                top: 0;
                left: 1.5625rem;
                width: calc(100% - 3.125rem);
                height: 1px;
                background-color: var(--e-global-color-border, #e0e0e0);
                opacity: 0.6;
            }
        }
    }

    /* 3. Estructura de la tarjeta individual (Orden natural del HTML en Escritorio) */
    .loop-listing-room {
        width: 100%;

        .e-con-inner {
            display: grid !important;
            grid-template-columns: 1fr 0.75fr;
            align-content: center;
            align-items: center;
            justify-content: center;
            justify-items: center;
            grid-auto-flow: row;
            column-gap: var(--size-l, 2.5rem);
            row-gap: var(--size-xl, 3.5rem);
            width: 100%;

            > .loop-listing-media {
                width: 100%;
                height: 100%;

                .elementor-widget-media-carousel,
                .swiper,
                .swiper-slide {
                    height: 100%;
                    min-height: 31.25rem;
                }
            }

            > .loop-listing-content {
                width: 100%;
            }
        }
    }

    /* ==========================================================================
       🔄 DISEÑO EN ZIGZAG AUTOMÁTICO (Inversión en las tarjetas impares/pares)
       ========================================================================== */
    .e-loop-item:nth-child(odd) {
        .loop-listing-room .e-con-inner {
            grid-template-columns: 0.75fr 1fr !important;

            > .loop-listing-media {
                order: 2 !important;
            }

            > .loop-listing-content {
                order: 1 !important;
            }
        }
    }

} /* Fin .mft-listing-rooms-c */

/* ==========================================================================
   RESPONSIVE (Pasa a 1 columna en pantallas reducidas)
   ========================================================================== */
@media (max-width: 1024px) {
    .mft-listing-rooms-c {
        
        .elementor-loop-container {
            > .e-loop-item + .e-loop-item {
                margin-block-start: var(--size-s, 1.5rem) !important;
                padding-block-start: var(--size-s, 1.5rem);

                &::after {
                    display: none !important;
                }
            }
        }

        .loop-listing-room .e-con-inner {
            grid-template-columns: 1fr !important;
            gap: 1.5rem;

            > .loop-listing-media {
                order: 1 !important;

                .elementor-widget-media-carousel,
                .swiper,
                .swiper-slide {
                    height: 100%;
                    min-height: 15rem;
                }
            }

            > .loop-listing-content {
                order: 2 !important;

                > :last-child {
                    display: none !important;
                }
            }
        }

        .e-loop-item:nth-child(odd) {
            .loop-listing-room .e-con-inner {
                grid-template-columns: 1fr !important;

                > .loop-listing-media {
                    order: 1 !important;
                }

                > .loop-listing-content {
                    order: 2 !important;
                }
            }
        }
    }
}/* End custom CSS */