.elementor-18386 .elementor-element.elementor-element-d15751b{--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-18386 .elementor-element.elementor-element-10a68438{width:100%;max-width:100%;}.elementor-18386 .elementor-element.elementor-element-10a68438 > .elementor-widget-container{margin:0px 0px 0px -71px;padding:0px -86px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-10a68438 */@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;500;600&display=swap');

/* ==========================================================================
   Contenedor Global y Estructura del Carrusel
   ========================================================================== */

/* Contenedor Global Adaptable */
.custom-carousel-wrapper {
  position: relative;
  width: 100% !important;
  max-width: 1580px; 
  margin: 0 auto;
  padding: 0;   
  box-sizing: border-box;
  overflow: hidden !important;
}

/* Track del Carrusel */
.custom-carousel-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: hidden !important; 
  scroll-behavior: smooth;
  width: 100% !important;
  box-sizing: border-box;
}

/* Ficha / Slide Individual - Alineación Central del Bloque */
.room-card-container {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important; /* Mantiene la imagen y el bloque de contenido alineados al centro horizontal */
  background-color: #F7F2E7 !important;
  font-family: 'Sora', sans-serif !important;
  box-sizing: border-box;
  padding: 60px 0 !important; 
}

/* ==========================================================================
   Componentes de la Ficha (Imagen y Contenido)
   ========================================================================== */

/* Contenedor de la Imagen - Izquierda */
.room-card-image-box {
  width: 50% !important;
  min-width: 50% !important;
  max-width: 50% !important;
  position: relative;
  overflow: hidden;
}

.room-card-image-box img {
  width: 100% !important;
  height: auto !important; 
  aspect-ratio: 1 / 1 !important; 
  object-fit: cover !important; 
  object-position: center center !important; 
  display: block !important;
}

/* Contenedor de Contenido - Derecha (Centrado Vertical Geométrico) */
.room-card-content-box {
  width: 50% !important;
  min-width: 50% !important;
  max-width: 50% !important;
  padding: 0 6% !important; 
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important; /* Centra verticalmente el bloque de información con la imagen */
  align-items: flex-start !important; 
  box-sizing: border-box;
}

/* ==========================================================================
   Elementos de Texto y Tipografía
   ========================================================================== */

/* Título de la Habitación - Restricción Estricta a 2 Líneas */
.room-card-title {
  font-family: 'Sora', sans-serif !important;
  font-size: clamp(20px, 2.2vw, 34px) !important; 
  font-weight: 300 !important; 
  text-transform: uppercase;
  color: #1A1A1A !important;
  line-height: 1.3 !important; 
  margin: 0 0 12px 0 !important;
  letter-spacing: -0.5px;
  
  /* Caja Flexible Orientada a Texto (Control de Renglones) */
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important; /* Forzar máximo 2 líneas */
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important; 
  white-space: normal !important;
}

/* Enlace del Título */
.room-card-title-link {
  text-decoration: none !important;
  display: block !important;
  width: 100%;
}

.room-card-title-link:hover .room-card-title {
  opacity: 0.85;
  transition: opacity 0.2s ease;
}

/* Subtítulo */
.room-card-subtitle {
  font-family: 'Sora', sans-serif !important;
  font-size: clamp(14px, 1vw, 16px) !important;
  color: #555555 !important;
  margin: 0 0 16px 0 !important; /* Margen optimizado para balance visual */
  line-height: 1.4 !important;
  font-weight: 300 !important;
  white-space: normal !important; /* Permite quiebre fluido al minimizar */
}

/* Línea Divisora */
.room-card-divider {
  border: none !important;
  border-top: 2px solid #E6B130 !important;
  width: 180px !important; 
  margin: 0 0 16px 0 !important;
}

/* ==========================================================================
   Grid de Amenidades (Pills)
   ========================================================================== */

.hive-amenities-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 8px !important; 
  margin-bottom: 12px !important;
  width: 100% !important;
}

.hive-amenities-centered {
  display: flex !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin-bottom: 30px !important; 
}

.hive-amenity-pill {
  display: inline-flex !important;
  align-items: center !important;
  background-color: #EEEDEA !important; 
  color: #4A4A4A !important; 
  padding: 8px 14px !important; 
  border-radius: 50px !important; 
  font-family: 'Sora', sans-serif !important;
  font-size: clamp(11px, 0.8vw, 13px) !important; 
  font-weight: 500 !important;
  line-height: 1 !important;
  gap: 6px !important;
  box-sizing: border-box;
}

.hive-amenity-pill-gold {
  background: #f47c36 !important;
  background: linear-gradient(90deg, #FAD961 0%, #F76B1C 100%) !important;
  color: #3d2b1f !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  cursor: pointer;
}

.hive-amenity-pill-gold:hover {
  transform: scale(1.03) !important;
  box-shadow: 0 4px 10px rgba(247, 107, 28, 0.3) !important;
}

.hive-amenity-pill svg {
  width: 13px !important;
  height: 13px !important;
  fill: currentColor !important; 
}

/* ==========================================================================
   Botón de Acción Principal
   ========================================================================== */

.room-card-button {
  align-self: flex-start !important;
  background-color: #111111 !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
  padding: 14px 40px !important;
  border-radius: 25px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  transition: opacity 0.2s ease !important;
  display: inline-block !important;
  margin-top: 5px !important;
}

.room-card-button:hover {
  opacity: 0.9 !important;
}

.carousel-arrow {
  display: none !important;
}

/* ==========================================================================
   Breakpoints de Adaptabilidad (Responsive Design)
   ========================================================================== */

@media (max-width: 1440px) {
  .room-card-container {
    padding: 40px 0 !important;
  }
  .room-card-content-box {
    padding: 0 5% !important;
  }
}

@media (max-width: 1199px) {
  .room-card-container {
    padding: 30px 0 !important;
  }
  .room-card-content-box {
    padding: 0 4% !important;
  }
  .room-card-divider {
    margin: 0 0 15px 0 !important;
  }
}

/* Layout Vertical para Mobile y Tablets Verticales (Previene desbordes al minimizar) */
@media (max-width: 991px) {
  .room-card-container { 
    flex-direction: column !important; 
    padding: 30px 20px !important;
  }
  .room-card-image-box, .room-card-content-box { 
    width: 100% !important; 
    min-width: 100% !important;
    max-width: 100% !important;
  }
  .room-card-image-box {
    margin-bottom: 25px !important;
  }
  .room-card-image-box img {
    aspect-ratio: 16 / 10 !important;
    height: auto !important;
  }
  .room-card-content-box {
    padding: 0 !important;
  }
  .custom-carousel-track { 
    overflow-x: auto !important; 
    scroll-snap-type: x mandatory !important; 
  }
  .room-card-container { 
    scroll-snap-align: start !important; 
  }
}/* End custom CSS */