/*
	Theme Name: Hello Elementor Child
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Template: hello-elementor
	Version: 1.0.0
*/


.cabecera{position: absolute;top:0;left:0;width:100%;}
div[data-elementor-type="header"]{position: absolute;top:0;left:0;width:100%;}
#logo_viver_neg img{width:170px !important;height: auto !important;}
.desktop{display: block;}
.mobile{display: none !important;}
.menu_escondido{position: fixed !important;top: 0 !important;width: 50% !important;right: 0 !important;height: 100% !important;z-index: 9999 !important;display: none !important;}
.icon_cerrar{display: none;}
.borrar{clear: both;float:none;}
.muestro{display: block !important;}
.bordes_cortados{clip-path: polygon(
    30px 0%,  /* esquina superior izquierda recortada */
    calc(100% - 30px) 0%,  /* esquina superior derecha recortada */
    100% 30px,
    100% calc(100% - 30px),
    calc(100% - 30px) 100%,
    30px 100%,
    0% calc(100% - 30px),
    0% 30px
  );}
.bloque_formulario{font-family: "Archivo", Sans-serif;}
.bloque_formulario label{width: 100%;}
.bloque_formulario input[type="text"],.bloque_formulario input[type="email"],.bloque_formulario select{width:100%;border: none !important;border-bottom:1pt solid black !important;border-radius: 0 !important;margin-bottom:20px;padding: 5px 0 !important;}
.bloque_formulario .wpcf7-list-item{margin: 0;color:#aba394;}
.bloque_formulario .wpcf7-list-item input{border-color:#aba394;}
.bloque_formulario input[type="submit"]{border: none;background: #aba394 !important;color: white;width: 100%;border-radius: 30px;font-size: 1.2em;padding: 13px;margin: 20px 0 0 0;cursor:pointer;}
.bloque_formulario .boton_whatsapp{margin: 0;margin-top: -20px;}
.bloque_formulario .boton_whatsapp p{padding: 0;margin:0;}
.bloque_formulario .boton_whatsapp a{border: 1pt solid #aba394;background: #fff !important;width: 100%;border-radius: 30px;font-size: 1.2em;display: block;color: #aba394;text-align: center;padding: 13px;}
.bloque_formulario .boton_whatsapp a:hover{background: #aba394 !important;color: white;}

.cont_slider .owl-carousel .owl-stage{display: flex !important;height:100%;}
/*.owl-carousel .owl-item .item{height: 100% !important;}*/
.cont_slider .owl-carousel .owl-item{height: 230px !important;}
.cont_slider .owl-carousel .owl-item img{width: 100%;height: 100%;object-fit: cover;max-width: initial;}
.cont_slider{height: 800px !important;overflow: hidden !important;}
.cont_slider .elementor-element,.cont_slider .elementor-widget-container,.cont_slider .elementor-shortcode,.cont_slider .owl-stage-outer{height:100%;}
.galeria_ficha{height: 100%;}
.galeria_ficha .owl-dots{margin-top: -50px !important;z-index: 10000;position: relative;}
.owl-theme .owl-dots .owl-dot span{border: 1pt solid white;background:transparent !important;}
.owl-theme .owl-dots .owl-dot.active span{background:#fff !important;}
#mapa_ficha{width:100%;height:500px;}
.cont_listado{overflow: hidden;}
.cont_listado > .izq{padding:30px 10%;}

.cont_listado .izq ul li{display: inline-block;vertical-align: top;background-color:#f1f1f1;width: 29%;box-sizing: border-box;margin:20px;}
.cont_listado .izq ul{padding:0;}
.cont_listado .cont_carrusel{position: relative;overflow: hidden;}
.cont_carrusel .owl-carousel{max-height: 300px;}


.leaflet-tile-pane {-webkit-filter: grayscale(100%);filter: grayscale(100%);}
.owl-nav{margin-top: 0;position: absolute;top: 40%;z-index: 200000000;width: 100%;}
.owl-nav .owl-prev{position: absolute;left: 10px;color: white !important;font-size: 1.8em !important;}
.owl-nav .owl-next{position: absolute;right: 10px;color: white !important;font-size: 1.8em !important;}
a.tourvirtual{position: absolute;top: 20px;z-index: 99999;left: 20px;    background-color: #fff;font-size: 16px;font-weight: 500;fill: #000;color: #000;transition-duration: .3s;border-radius: 50px;padding: 6px 24px;opacity:0.4;}
.cont_listado li{}
.cont_listado .text{padding: 20px 30px 30px;position: relative;height: 230px;}
.cont_listado .text .izq{float: left;width:70%;padding-right:50px;}
.cont_listado .text .izq h3{font-weight: 600;font-size: 1.3em;margin: 0;padding-bottom: 6px;}
.cont_listado .text .izq span{display: block;color:#989898;}
.cont_listado .text .der{float: right;width:30%;}
.cont_listado .text .der span{display: block;color:#989898;}
.cont_listado .text .der strong{display: block;}
.cont_listado .text .boton{position: absolute;bottom:30px;width:100%;left:0;padding:0 30px;}
.cont_listado .text .boton .txt{float: left;width:70%;}
.cont_listado .text .boton .txt span{display: block;color:#989898;}
.cont_listado .text .boton .txt strong{display: block;font-weight: 500;}
.cont_listado .text .boton a{float: right;width:30%;background-color: #575757;font-size: 16px;font-weight: 500;fill: #000;color: #fff;transition-duration: .3s;border-radius: 50px;padding: 6px 1px;text-align:center;}
.fancybox__content{padding:0 !important;}

.cont_filtros{padding: 38px 30px 90px;background: rgba(229, 225, 205, 0.9);border-radius: 20px;}
.cont_filtros .izq{float:left;vertical-align: middle;}
.cont_filtros .izq .bloque{display: inline-block;vertical-align: top;padding:0 30px 0 0;}
.cont_filtros .izq .bloque_select select{appearance: none; -moz-appearance:none;-webkit-appearance:none;background: none;color: black;border: none;display: inline-block;vertical-align: middle;width:auto;position:relative;z-index: 2;padding-right: 18px;font-family:inherit;font-size: 1.2em;text-transform: uppercase;border-bottom: 1pt solid black !important;}
.cont_filtros .izq .bloque_select::after{content:'';display:inline-block;border: solid black;border-width: 0 1px 1px 0;padding: 4px;transform: rotate(45deg);-webkit-transform: rotate(45deg);vertical-align: middle;margin-left:-10px;}
.bloque_fecha_input{padding: 0 !important;}
.bloque_fecha_input label,.bloque_rango_de_precios label{color:black;display: inline-block;vertical-align: middle;font-size: 1.2em;text-transform: uppercase;}
.bloque_fecha_input div{font-family:inherit;display: inline-block;vertical-align: middle;}
.bloque_fecha_input input{appearance: none; -moz-appearance:none;-webkit-appearance:none;background: none;border: none !important;color: black;width: 86% !important;font-size: 1.2em;}
.bloque_fecha_input input[type="date"]{border-bottom: 1pt solid black !important;}
.bloque_fecha_input input::-webkit-calendar-picker-indicator {
  filter: invert(1) brightness(0);cursor:pointer;}

.cont_filtros .der{float:right;vertical-align: middle;}
.cont_filtros .der .bloque{display: inline-block;vertical-align: middle;padding:10px 14px;}
.cont_filtros .der .bloque img{display: inline-block;vertical-align: middle;max-width:20px;max-height: 24px;margin-right:10px;}
.cont_filtros .der .bloque a{color:black;cursor:pointer;font-size:1.2em;}
.cont_filtros .der .bloque a:hover{color:black;}

.cont_listado.en_dos > .izq{width:50%;display: inline-block;vertical-align:top;padding: 30px 50px;}
.cont_listado.en_dos > .izq ul li{margin: 5px;width: 46.7%;}
.cont_listado.en_dos > .izq .text{font-size: 0.9em;height: 220px;}
.cont_listado.en_dos > .izq .text .izq span{font-size: 0.9em;}
.cont_listado .derecha{width:50%;display: inline-block;vertical-align:top;background: red;height: 500px;top: 0;position:relative;bottom:-30px;margin-bottom: -10px;}
#mapa_listado{width:100%;height:1000px;}
.precio_tachado{color:white;text-decoration: line-through;}
.form_disponibilidad{}
.form_disponibilidad input[type="text"]{display: inline-block;vertical-align: middle;width: 200px;font-size: 18px;padding: 10px 0 2pt;border: none;border-bottom: 2pt solid black;border-radius: 0;margin: 0 5px;background: none;}
.form_disponibilidad input[type="text"]:focus-visible{outline: none;}
.form_disponibilidad input[type="submit"]{display: block;margin: 30px auto;font-family: "Archivo", Sans-serif;font-size: 18px;font-weight: 600;color: #fff;border-radius: 50px;padding: 10px 20px;border:none;background-color: #575757;border:1pt solid #fff;}
.form_disponibilidad input[type="submit"]:hover{color: #575757;background-color: #fff;border:1pt solid #575757;}
.ui-datepicker{z-index: 999999 !important;}
.cont_form_reserva{text-align:center !important;}
.estado{padding: 20px;}
.estado_ocupado{background: #eeaaaa;}
.estado_libre{background: #d3eed1;}

.bloque_rango_de_precios #slider-range {width: 200px;margin: 16px 0;position: relative;display: inline-block;vertical-align: middle;margin-left: 7px;}
.bloque_rango_de_precios .ui-slider-handle .tooltip {position: absolute;top: -35px;left: 50%;transform: translateX(-50%);background: #c5bda2;color: #000;padding: 3px 8px;border-radius: 5px;font-size: 12px;white-space: nowrap;}
.bloque_rango_de_precios .ui-slider {
      height: 10px;
      background: #fff;
      border-radius: 5px;
      border: none;
    }
.datepicker-loading{display: none;}
.bloque_rango_de_precios .ui-slider-range {
      background: linear-gradient(90deg, #847d6a, #d3c8ac);
      border-radius: 5px;
    }
/* Thumbs (manejadores) */
.bloque_rango_de_precios .ui-slider-handle {
      top: -7px;
      width: 20px;
      height: 20px;
      background: #d3c8ac;
      border: 2px solid #fff;
      border-radius: 50%;
      cursor: pointer;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
      transition: transform 0.2s;
    }

.bloque_rango_de_precios .ui-slider-handle:hover {
      transform: scale(1.2);
      background: #847d6a;
    }

    /* Tooltip encima de los thumbs */
.bloque_rango_de_precios .ui-slider-handle .tooltip,.bloque_rango_de_precios .ui-slider-handle .tooltip2 {
      position: absolute;
      top: -35px;
      left: 50%;
      transform: translateX(-50%);
      background: #d3c8ac;
      color: #000;
      padding: 4px 8px;
      border-radius: 5px;
      font-size: 12px;
      white-space: nowrap;
    }
.bloque_rango_de_precios .ui-slider-handle .tooltip2{bottom: -35px;top: auto;}

.bloque_rango_de_precios .ui-slider-handle .tooltip::after,.bloque_rango_de_precios .ui-slider-handle .tooltip2::after {content: "";position: absolute;bottom: -6px;left: 50%;transform: translateX(-50%);border-width: 6px;border-style: solid;border-color: #d3c8ac transparent transparent transparent;}

.form_reserva .custom-select {position: relative;width: 300px;font-family: Arial, sans-serif;    padding-right: 6px;}

.form_reserva .selected {border: 1px solid #ccc;padding: 10px 12px;cursor: pointer;background-color: #fff;font-family: "Space Mono", Sans-serif;border: 1px solid #666;
    border-radius: 3px;}

.form_reserva .options {display: none;position: absolute;top: 100%;left: 0;right: 0;max-height: 250px;overflow-y: auto;border: 1px solid #ccc;border-top: none;background-color: #fff;z-index: 10;list-style: none;padding: 0;font-family: "Space Mono", Sans-serif;font-size: 0.9em;}

.form_reserva .options li {padding: 8px 12px;cursor: pointer;padding: 2px 10px ;}

.form_reserva .options li:hover {background-color: #f0f0f0;}

.superbloque_reserva{text-align: left;}
.superbloque_reserva .form_reserva{display: inline-block;vertical-align: top;width:50%;padding: 30px;}
.superbloque_reserva .form_reserva h3,.superbloque_reserva .pago h3{font-family: "Space Mono", Sans-serif;font-size: 26px;font-weight: 500;line-height: 1.2em;color: #000;padding: 20px 0;}
.superbloque_reserva .form_reserva form{}
.superbloque_reserva .form_reserva form .bloque{}
.superbloque_reserva .form_reserva form .bloque input,.superbloque_reserva .form_reserva form .bloque textarea{font-size: 1.2em;margin-bottom: 10px;}
.superbloque_reserva .form_reserva form .bloque_prefijo{}
.superbloque_reserva .form_reserva form .bloque_prefijo .custom-select{float: left;width: auto;width: 40%;}
.superbloque_reserva .form_reserva form .bloque_prefijo input{float:left;width: 60%;}

.superbloque_reserva .pago{display: inline-block;vertical-align: top;width:50%;padding: 30px;}
.cuadro .resumen{}
.cuadro .resumen .boton{display: inline-block;cursor: pointer;background: #eee;padding: 5px 10px;margin: 10px 0 0;}
.cuadro .resumen .boton strong{}
.cuadro .resumen .cuadrito{padding: 20px;border: 1pt solid black;background: #e1dcd1;width: 100%;display: none;}
.cuadro .resumen .cuadrito h4{font-size: 1.2em;margin: 5px 0;font-family: "Space Mono", Sans-serif;margin: 10px 0;font-weight: bold;border-bottom: 1pt solid #eee;}
.cuadro .resumen .cuadrito .linea{}
.cuadro .resumen{}
.tabla_ventajas table{font-size:1.2em;}
.tabla_ventajas th,.tabla_ventajas td{border:none !important;background:none !important;font-family:Archivo,sans-serif;}
.tabla_ventajas thead{background:none !important;}
.tabla_ventajas thead{}
.tabla_ventajas thead th{color: #999;font-weight: 100;font-size: 1.2em;vertical-align:middle;}
.tabla_ventajas thead img{height: 36px;}
.tabla_ventajas tbody tr td:first-child{color: #999;font-size: 1.2em;font-weight: 100;}
.tabla_ventajas tbody tr td:last-child{background-color:#cee4d3 !important;}
.tabla_ventajas tbody tr:last-child td:last-child{outline: 2pt solid green;-webkit-border-bottom-right-radius: 20px;-webkit-border-bottom-left-radius: 20px;-moz-border-radius-bottomright: 20px;-moz-border-radius-bottomleft: 20px;border-bottom-right-radius: 20px;border-bottom-left-radius: 20px;}
.tabla_ventajas tbody tr:last-child td:first-child{font-weight: 300;color:black;}
.bloque_todo_incluido .elementor-widget-container img{    max-height: 70px !important;max-width: 100% !important;width: auto;}
.selector_ciudad select{width: auto;margin: 0 auto;font-family: Space Mono, sans-serif;border: none;font-weight: 600;font-size: 2em;text-decoration: underline;}
.no_hay{padding:100px 0;}
.listado_experiencias{}
.listado_experiencias>.izq{padding: 30px 0;}
.listado_experiencias .izq ul li img{width:100%;}
.listado_experiencias .text .izq{width:100%;padding-right: 0;}
.secciones_experiencias{margin-top: -80px;padding-bottom: 50px;}
.secciones_experiencias ul{text-align: center;}
.secciones_experiencias ul li{display: inline-block;}
.secciones_experiencias ul li a{color: #989898;padding:0 20px;font-size: 1.2em;}
.secciones_experiencias ul li a:hover{color:black;}
.secciones_experiencias ul li.selected a{color:black;}
.experiencias_pasadas .izq ul li img{-webkit-filter: grayscale(100%);filter: grayscale(100%);}
.pagination_propiedades{text-align: center;padding: 20px;}
.pagination_propiedades span{color:black;font-size: 1.2em;padding:0 20px;}
.pagination_propiedades a{color:black;font-size: 1.2em;padding:0 20px;}
.pagination_propiedades span.page-numbers.current{font-weight: bold;}

/* CONTENEDOR GENERAL */
.ui-datepicker {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  border: none;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 12px 30px rgba(0,0,0,.15);
  background: #fff;
}

/* CABECERA */
.ui-datepicker-header {
  background: none;
  border: none;
  margin-bottom: 12px;
}

.ui-datepicker-title {
  font-weight: 600;
  font-size: 15px;
}

/* BOTONES PREV / NEXT */
.ui-datepicker-prev,
.ui-datepicker-next {
  top: 6px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  transition: background .2s ease;
}

.ui-datepicker-prev:hover,
.ui-datepicker-next:hover {
  background: #f1f5f9;
}

.ui-datepicker-prev span,
.ui-datepicker-next span {
  filter: grayscale(1);
}

/* DÃAS DE LA SEMANA */
.ui-datepicker th {
  font-weight: 500;
  color: #64748b;
  padding: 6px 0;
  font-size: 12px;
}

/* CELDAS */
.ui-datepicker td {
  padding: 2px;
}

/* DÃAS */
.ui-datepicker td a,
.ui-datepicker td span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  width: 36px;
  border-radius: 10px;
  border: none;
  background: none;
  color: #0f172a;
  font-size: 14px;
  transition: all .2s ease;
}

/* HOVER */
.ui-datepicker td a:hover {
  background: #e2e8f0;
}

/* HOY */
.ui-datepicker-today a {
  background: #f1f5f9;
  font-weight: 600;
}

/* SELECCIONADO */
.ui-datepicker-current-day a {
  background: #2563eb !important;
  color: #fff !important;
  font-weight: 600;
}

/* DÃAS DESHABILITADOS */
.ui-datepicker-unselectable span {
  color: #cbd5e1;
  text-decoration: line-through;
}

/* DÃAS OCUPADOS */
.ui-datepicker td a.ocupado {
  background: #fee2e2;
  color: #b91c1c;
  position: relative;
  cursor: not-allowed;
}

/* PUNTO DE OCUPADO */
.ui-datepicker td a.ocupado::after {
  content: "";
  position: absolute;
  bottom: 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #dc2626;
}

/* INPUT */
input.hasDatepicker {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  font-size: 14px;
  width: 100%;
  transition: border .2s ease, box-shadow .2s ease;
}

input.hasDatepicker:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37,99,235,.15);
}

.listado_blog_noticias .cont_listado .text{height: 300px;}



@media(max-width:1280px){
	
}

@media(max-width:768px){
	#logo_viver_neg img{width:120px !important;}
	.menu_escondido{width: 100% !important;}
	.desktop{display: none !important;}
	.mobile{display: block !important;}
      .cont_filtros .izq .bloque{padding: 10px 10px !important;width:100%;border-bottom: 1pt solid #bfb892;}
      .bloque_fecha_input{padding: 0 10px !important;}
      .bloque_rango_de_precios #slider-range{width: 88%;}
      .bloque_fecha_input label, .bloque_rango_de_precios label{text-align: center;width: 100%;padding-left: 16px;}
      .cont_filtros .der{padding-top:10px;}
      .cont_listado>.izq{padding: 30px 10px;}
      .cont_listado .izq ul li,.cont_listado.en_dos>.izq ul li{width: 47%;margin: 0 5px 10px;}
      .cont_listado.en_dos>.izq,.cont_listado .derecha{width: 100%;}
      .cont_listado.en_dos>.izq{padding: 30px 10px;}
      .cont_listado .derecha{height:500px !important;}
      .cont_carrusel .owl-carousel{max-height: 230px;}
      .cont_listado .text{padding: 20px 18px 70px;height: auto;}
      .cont_listado .text .izq{float: none;width: 100%;padding-right: 0;}
      .cont_listado .text .der{float: none;width: 100%;padding:20px 0;}
      .cont_listado .text .boton a{width: 100%;}
      .owl-carousel .owl-item{margin-right:0;}
      .cont_filtros{padding: 10px 0px 10px;}
      .cont_filtros .izq,.cont_filtros .der{float: none;}
      .bloque_fecha_input label, .bloque_rango_de_precios label{text-align:left;}
      .cont_filtros .der .bloque{padding: 10px 24px;}
      .cont_filtros .izq .bloque_select select,.bloque_fecha_input input[type=date]{border: none !important;}
      .cont_slider{height: 350px !important;}
      .cont_listado .text .boton{position: relative;padding: 20px 0;}
      .cont_listado .text .boton .txt{width: 100%;float: none;}
      .cont_listado .text{padding: 20px 18px 10px;}
      .superbloque_reserva .form_reserva,.superbloque_reserva .pago{width:100%;}
      .listado_blog_noticias .cont_listado .text{height: auto;}
      .listado_blog_noticias .cont_listado>.izq li{width:100%;}

}

@media(max-width:480px){

}

/* ==================================================
   LISTADO VIVER - REDISEÑO CARDS OPTIMIZADO
   Mantiene Owl Carousel sin romper su cálculo interno
   ================================================== */

/* Contenedor general */
.cont_listado {
    width: 100% !important;
}

.cont_listado > .izq {
    width: 100% !important;
    float: none !important;
}

/* Grid de cards */
.cont_listado > .izq > ul {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 32px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

/* Card */
.cont_listado > .izq > ul > li.bordes_cortados {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #FAF4F2 !important;
    border: 1px solid #E4DAD4 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    box-shadow: none !important;
    position: relative !important;
}

/* Eliminar cortes/pseudoelementos del diseño antiguo */
.cont_listado > .izq > ul > li.bordes_cortados::before,
.cont_listado > .izq > ul > li.bordes_cortados::after {
    display: none !important;
    content: none !important;
}

/* Contenedor del carrusel */
.cont_listado .bordes_cortados .cont_carrusel {
    width: 100% !important;
    height: 300px !important;
    min-height: 300px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    border-radius: 22px 22px 0 0 !important;
    background: transparent !important;
}

/* Mantener altura del carrusel sin tocar widths internos de Owl */
.cont_listado .bordes_cortados .carrusel,
.cont_listado .bordes_cortados .galeria_listado,
.cont_listado .bordes_cortados .owl-stage-outer,
.cont_listado .bordes_cortados .owl-stage,
.cont_listado .bordes_cortados .owl-item,
.cont_listado .bordes_cortados .item {
    height: 300px !important;
    min-height: 300px !important;
}

/* IMPORTANTE:
   No aplicar width:100% a .owl-stage ni .owl-item.
   Owl Carousel calcula esos anchos con JS.
*/

/* Imagen */
.cont_listado .bordes_cortados .item img,
.cont_listado .bordes_cortados .owl-item img,
.cont_listado .bordes_cortados img {
    display: block !important;
    width: 100% !important;
    height: 300px !important;
    min-height: 300px !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Badge Tour 3D */
.cont_listado .bordes_cortados .tourvirtual {
    position: absolute !important;
    top: 18px !important;
    left: 22px !important;
    z-index: 20 !important;
    background: rgba(245, 237, 220, 0.9) !important;
    color: #4B4B45 !important;
    padding: 10px 24px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* Flechas Owl */
.cont_listado .owl-nav {
    margin: 0 !important;
}

.cont_listado .owl-nav button {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 36px !important;
    line-height: 1 !important;
    z-index: 15 !important;
    width: 34px !important;
    height: 34px !important;
    border: none !important;
}

.cont_listado .owl-nav button.owl-prev {
    left: 16px !important;
}

.cont_listado .owl-nav button.owl-next {
    right: 16px !important;
}

/* Contenido */
.cont_listado > .izq > ul > li.bordes_cortados > .text {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 28px 28px 24px !important;
    background: #FAF4F2 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
        "info price"
        "line line"
        "button button" !important;
    gap: 0 24px !important;
    min-height: 240px !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Info izquierda */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq {
    grid-area: info !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq h3 {
    font-size: 24px !important;
    line-height: 1.12 !important;
    margin: 0 0 12px !important;
    color: #1F1F1F !important;
    font-weight: 700 !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq span {
    display: block !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    color: #777 !important;
    margin: 0 !important;
}

/* Precio derecha */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .der {
    grid-area: price !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    color: #777 !important;
    font-size: 15px !important;
}

/* No duplicar "Desde" */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .der::before {
    content: none !important;
    display: none !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .der strong {
    display: block !important;
    color: #111 !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

/* Limpiar separadores antiguos */
.cont_listado .bordes_cortados .borrar {
    display: none !important;
}

/* Línea divisoria */
.cont_listado > .izq > ul > li.bordes_cortados > .text::after {
    content: "";
    grid-area: line;
    display: block;
    height: 1px;
    background: #DED5CF;
    margin: 26px 0 22px;
}

/* Footer / botón */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton {
    grid-area: button !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}

/* Ocultar disponibilidad antigua */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton .txt {
    display: none !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton a {
    background: #3E3B3B !important;
    color: #fff !important;
    padding: 13px 26px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 130px !important;
    height: auto !important;
    transition: background .25s ease, transform .25s ease !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton a:hover {
    background: #222 !important;
    color: #fff !important;
    transform: translateY(-1px);
}

/* Responsive tablet */
@media (max-width: 1024px) {
    .cont_listado > .izq > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 28px !important;
    }
}

/* Responsive mobile */
@media (max-width: 767px) {
    .cont_listado > .izq > ul {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .cont_listado .bordes_cortados .cont_carrusel,
    .cont_listado .bordes_cortados .carrusel,
    .cont_listado .bordes_cortados .galeria_listado,
    .cont_listado .bordes_cortados .owl-stage-outer,
    .cont_listado .bordes_cortados .owl-stage,
    .cont_listado .bordes_cortados .owl-item,
    .cont_listado .bordes_cortados .item,
    .cont_listado .bordes_cortados .item img,
    .cont_listado .bordes_cortados .owl-item img,
    .cont_listado .bordes_cortados img {
        height: 260px !important;
        min-height: 260px !important;
    }

    .cont_listado > .izq > ul > li.bordes_cortados > .text {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "info"
            "price"
            "line"
            "button" !important;
        padding: 24px !important;
        min-height: auto !important;
    }

    .cont_listado > .izq > ul > li.bordes_cortados > .text > .der {
        margin-top: 18px !important;
    }

    .cont_listado > .izq > ul > li.bordes_cortados > .text > .boton {
        justify-content: flex-start !important;
    }
}

/* ===============================
   AJUSTES FINALES LISTADO VIVER
   =============================== */

/* Tipografía Space Mono en cards */
.cont_listado .bordes_cortados,
.cont_listado .bordes_cortados h3,
.cont_listado .bordes_cortados span,
.cont_listado .bordes_cortados strong,
.cont_listado .bordes_cortados a {
    font-family: 'Space Mono', monospace !important;
}

/* Títulos */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq h3 {
    font-family: 'Space Mono', monospace !important;
    font-size: 25px !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: -0.5px !important;
    color: #151515 !important;
}

/* Zona / habitaciones */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq span {
    font-family: 'Space Mono', monospace !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    color: #6f6f6f !important;
}

/* Precio */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .der span {
    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    color: #777 !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .der strong {
    font-family: 'Space Mono', monospace !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #111 !important;
}

/* Botón */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton a {
    font-family: 'Space Mono', monospace !important;
    background: #3E3B3B !important;
    color: #fff !important;
    padding: 13px 22px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    min-width: 170px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* Badge Tour */
.cont_listado .bordes_cortados .tourvirtual {
    font-family: 'Space Mono', monospace !important;
    font-size: 13px !important;
}

/* ==================================================
   LISTADO VIVER - AJUSTE FINAL A MODELO
   ================================================== */

/* Ancho máximo del listado para que no quede tan estirado */
.cont_listado {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Grid más parecido al modelo */
.cont_listado > .izq > ul {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

/* Card */
.cont_listado > .izq > ul > li.bordes_cortados {
    border-radius: 20px !important;
    background: #FAF4F2 !important;
    border: 1px solid #E3DAD5 !important;
    overflow: hidden !important;
}

/* Imagen un poco más proporcionada */
.cont_listado .bordes_cortados .cont_carrusel,
.cont_listado .bordes_cortados .carrusel,
.cont_listado .bordes_cortados .galeria_listado,
.cont_listado .bordes_cortados .owl-stage-outer,
.cont_listado .bordes_cortados .owl-stage,
.cont_listado .bordes_cortados .owl-item,
.cont_listado .bordes_cortados .item,
.cont_listado .bordes_cortados .item img,
.cont_listado .bordes_cortados .owl-item img,
.cont_listado .bordes_cortados img {
    height: 285px !important;
    min-height: 285px !important;
}

/* Contenido: nuevo orden interno */
.cont_listado > .izq > ul > li.bordes_cortados > .text {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
        "info info"
        "line line"
        "price button" !important;
    gap: 0 24px !important;
    padding: 26px 26px 24px !important;
    min-height: 245px !important;
    align-items: end !important;
}

/* Bloque título + ubicación */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq {
    grid-area: info !important;
}

/* Título */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq h3 {
    font-family: 'Space Mono', monospace !important;
    font-size: 22px !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
    letter-spacing: -0.5px !important;
    color: #191919 !important;
    margin: 0 0 10px !important;
}

/* Ubicación */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq span:first-of-type {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;
    margin-bottom: 8px !important;
}

/* Icono ubicación */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq span:first-of-type::before {
    content: "?";
    display: inline-block;
    font-size: 14px;
    line-height: 1;
    color: #5F5F5F;
}

/* Habitaciones */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq span:last-of-type {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;
}

/* Icono habitaciones, aproximado */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq span:last-of-type::before {
    content: "?";
    display: inline-block;
    font-size: 13px;
    color: #5F5F5F;
}

/* Línea separadora */
.cont_listado > .izq > ul > li.bordes_cortados > .text::after {
    grid-area: line !important;
    content: "" !important;
    display: block !important;
    height: 1px !important;
    background: #DDD2CC !important;
    margin: 24px 0 22px !important;
}

/* Precio abajo izquierda */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .der {
    grid-area: price !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .der span {
    font-family: 'Space Mono', monospace !important;
    display: block !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    color: #5F5F5F !important;
    margin-bottom: 5px !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .der strong {
    font-family: 'Space Mono', monospace !important;
    display: block !important;
    font-size: 19px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    color: #191919 !important;
    white-space: nowrap !important;
}

/* Botón abajo derecha */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton {
    grid-area: button !important;
    align-self: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton a {
    font-family: 'Space Mono', monospace !important;
    background: #3D3A3A !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 13px 24px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    min-width: 178px !important;
    height: auto !important;
    white-space: nowrap !important;
}

/* Flecha visual al final del botón */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton a::after {
    content: "?";
    margin-left: 8px;
}

/* Badge Tour 3D */
.cont_listado .bordes_cortados .tourvirtual {
    font-family: 'Space Mono', monospace !important;
    background: rgba(245, 237, 220, 0.88) !important;
    color: #706E68 !important;
    font-size: 13px !important;
    padding: 9px 22px !important;
    border-radius: 999px !important;
}

/* Responsive */
@media (max-width: 1024px) {
    .cont_listado {
        max-width: 900px !important;
    }

    .cont_listado > .izq > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .cont_listado {
        max-width: 100% !important;
    }

    .cont_listado > .izq > ul {
        grid-template-columns: 1fr !important;
    }

    .cont_listado > .izq > ul > li.bordes_cortados > .text {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "info"
            "line"
            "price"
            "button" !important;
        gap: 0 !important;
    }

    .cont_listado > .izq > ul > li.bordes_cortados > .text > .boton {
        justify-content: flex-start !important;
        margin-top: 18px !important;
    }

    .cont_listado .bordes_cortados .cont_carrusel,
    .cont_listado .bordes_cortados .carrusel,
    .cont_listado .bordes_cortados .galeria_listado,
    .cont_listado .bordes_cortados .owl-stage-outer,
    .cont_listado .bordes_cortados .owl-stage,
    .cont_listado .bordes_cortados .owl-item,
    .cont_listado .bordes_cortados .item,
    .cont_listado .bordes_cortados .item img,
    .cont_listado .bordes_cortados .owl-item img,
    .cont_listado .bordes_cortados img {
        height: 250px !important;
        min-height: 250px !important;
    }
}

/* ==================================================
   FIX FINAL: ICONOS + FOOTER PRECIO/BOTÓN
   ================================================== */

/* Quitar iconos de texto que salían como ? */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq span::before {
    content: none !important;
    display: none !important;
}

/* Ubicación con icono SVG seguro */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq span:first-of-type {
    position: relative !important;
    padding-left: 20px !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq span:first-of-type::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 4px !important;
    width: 13px !important;
    height: 13px !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235F5F5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important;
}

/* Habitaciones con icono SVG seguro */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq span:last-of-type {
    position: relative !important;
    padding-left: 20px !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .izq span:last-of-type::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 4px !important;
    width: 14px !important;
    height: 14px !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235F5F5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 7v11'/%3E%3Cpath d='M21 11v7'/%3E%3Cpath d='M3 18h18'/%3E%3Cpath d='M3 11h18'/%3E%3Cpath d='M7 11V7a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v4'/%3E%3C/svg%3E") !important;
}

/* Reordenar footer: precio izquierda, botón derecha */
.cont_listado > .izq > ul > li.bordes_cortados > .text {
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
        "info info"
        "line line"
        "price button" !important;
    align-items: center !important;
}

/* Precio abajo izquierda */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .der {
    grid-area: price !important;
    align-self: center !important;
    justify-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Botón abajo derecha, centrado verticalmente respecto al precio */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton {
    grid-area: button !important;
    align-self: center !important;
    justify-self: end !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    background: transparent !important;
}

/* Botón más parecido al modelo */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton a {
    min-width: 185px !important;
    padding: 13px 22px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 9px !important;
}

/* Quitar flecha textual que salía como ? */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton a::after {
    content: "" !important;
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important;
    transform: rotate(45deg) !important;
    margin-left: 4px !important;
}

/* Ajuste mobile */
@media (max-width: 767px) {
    .cont_listado > .izq > ul > li.bordes_cortados > .text {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "info"
            "line"
            "price"
            "button" !important;
    }

    .cont_listado > .izq > ul > li.bordes_cortados > .text > .boton {
        justify-self: start !important;
        margin-top: 18px !important;
    }
}

/* ==================================================
   FIX DEFINITIVO BOTÓN DENTRO DE LA CARD
   ================================================== */

/* La card no debe dejar escapar contenido */
.cont_listado > .izq > ul > li.bordes_cortados {
    overflow: hidden !important;
}

/* El bloque de texto mantiene el grid correcto */
.cont_listado > .izq > ul > li.bordes_cortados > .text {
    display: grid !important;
    grid-template-columns: 1fr 145px !important;
    grid-template-areas:
        "info info"
        "line line"
        "price button" !important;
    column-gap: 12px !important;
    padding: 26px 24px 24px !important;
    box-sizing: border-box !important;
}

/* Precio */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .der {
    grid-area: price !important;
    position: static !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    transform: none !important;
}

/* Contenedor del botón: reset total */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton {
    grid-area: button !important;
    position: static !important;
    float: none !important;
    width: 145px !important;
    max-width: 145px !important;
    min-width: 145px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    overflow: visible !important;
    background: transparent !important;
}

/* Botón: reset total */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton a {
    position: static !important;
    float: none !important;
    display: inline-flex !important;
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    box-sizing: border-box !important;

    align-items: center !important;
    justify-content: center !important;

    background: #3D3A3A !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

/* Flecha */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton a::after {
    content: "" !important;
    display: inline-block !important;
    width: 6px !important;
    height: 6px !important;
    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important;
    transform: rotate(45deg) !important;
    margin-left: 7px !important;
}

/* ==================================================
   AJUSTE ESPACIADO FOOTER CARD VIVER
   Precio izquierda + botón derecha con aire
   ================================================== */

/* Más ancho útil para el footer */
.cont_listado > .izq > ul > li.bordes_cortados > .text {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "info info"
        "line line"
        "price button" !important;
    column-gap: 22px !important;
    padding: 26px 28px 26px !important;
}

/* Precio más parecido al modelo */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .der {
    grid-area: price !important;
    justify-self: start !important;
    align-self: center !important;
    min-width: 0 !important;
    max-width: none !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .der span {
    font-size: 13px !important;
    line-height: 1.2 !important;
    margin-bottom: 6px !important;
    color: #5F5F5F !important;
}

.cont_listado > .izq > ul > li.bordes_cortados > .text > .der strong {
    font-size: 18px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.6px !important;
    white-space: nowrap !important;
}

/* Botón alineado a la derecha */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton {
    grid-area: button !important;
    justify-self: end !important;
    align-self: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* Botón un poco más compacto para que respire */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton a {
    width: auto !important;
    min-width: 150px !important;
    max-width: none !important;
    height: 42px !important;
    padding: 0 18px !important;
    font-size: 11px !important;
    letter-spacing: -0.4px !important;
    white-space: nowrap !important;
}

/* Línea con margen como la plantilla */
.cont_listado > .izq > ul > li.bordes_cortados > .text::after {
    margin: 24px 0 22px !important;
}

/* En pantallas/cards más estrechas, baja el botón para que no se pegue */
@media (max-width: 1200px) {
    .cont_listado > .izq > ul > li.bordes_cortados > .text {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "info"
            "line"
            "price"
            "button" !important;
    }

    .cont_listado > .izq > ul > li.bordes_cortados > .text > .boton {
        justify-self: start !important;
        margin-top: 18px !important;
    }
}

/* ==================================================
   FIX PRECIO COMPACTO + BOTÓN SEPARADO
   ================================================== */

/* Footer con más espacio entre precio y botón */
.cont_listado > .izq > ul > li.bordes_cortados > .text {
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 28px !important;
}

/* Precio más compacto */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .der {
    min-width: 105px !important;
    max-width: 105px !important;
    overflow: hidden !important;
}

/* Reducir el impacto visual del precio */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .der strong {
    font-size: 17px !important;
    letter-spacing: -1.2px !important;
    word-spacing: -4px !important;
    white-space: nowrap !important;
}

/* Botón un poco más a la derecha y sin invadir el precio */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton {
    justify-self: end !important;
    margin-left: 18px !important;
}

/* Botón tamaño similar al modelo */
.cont_listado > .izq > ul > li.bordes_cortados > .text > .boton a {
    min-width: 150px !important;
    height: 40px !important;
    padding: 0 18px !important;
    font-size: 11px !important;
}

/* ==================================================
   FILTROS POR CIUDAD - VIVER
   ================================================== */

.viver-filtros-ciudad {
    max-width: 1280px !important;
    margin: 0 auto 34px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    align-items: center !important;
}

.viver-filtros-ciudad .viver-filter {
    font-family: 'Space Mono', monospace !important;
    background: transparent !important;
    border: 1px solid #D9CEC8 !important;
    color: #5F5652 !important;
    border-radius: 999px !important;
    padding: 14px 28px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all .25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.viver-filtros-ciudad .viver-filter span {
    color: inherit !important;
    opacity: .75 !important;
}

.viver-filtros-ciudad .viver-filter:hover {
    background: #F1E8E3 !important;
    color: #2E2B2B !important;
}

.viver-filtros-ciudad .viver-filter.active {
    background: #3D3A3A !important;
    border-color: #3D3A3A !important;
    color: #fff !important;
    font-weight: 700 !important;
}

@media (max-width: 767px) {
    .viver-filtros-ciudad {
        gap: 10px !important;
        margin-bottom: 24px !important;
    }

    .viver-filtros-ciudad .viver-filter {
        padding: 12px 20px !important;
        font-size: 13px !important;
    }
}

/* ==================================================
   AJUSTAR CARDS AL ANCHO REAL DEL CONTENEDOR
   SIN ROMPER OWL CAROUSEL
   ================================================== */

/* El contenedor general */
.cont_listado {
    width: 100% !important;
    max-width: 1140px !important;
}

/* Columna interna */
.cont_listado > .izq {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
}

/* UL ocupa todo el ancho */
.cont_listado > .izq > ul {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 30px !important;
    justify-items: stretch !important;
    align-items: stretch !important;
}

/* Card ocupa toda su columna */
.cont_listado > .izq > ul > li.bordes_cortados {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Contenedor visual del carrusel */
.cont_listado > .izq > ul > li.bordes_cortados .cont_carrusel,
.cont_listado > .izq > ul > li.bordes_cortados .carrusel,
.cont_listado > .izq > ul > li.bordes_cortados .galeria_listado {
    width: 100% !important;
    max-width: none !important;
}

/* MUY IMPORTANTE:
   No tocar width de .owl-stage, .owl-stage-outer, .owl-item ni .item.
   Owl Carousel los calcula con JS.
*/

/* Solo forzamos la imagen */
.cont_listado > .izq > ul > li.bordes_cortados .item img,
.cont_listado > .izq > ul > li.bordes_cortados .owl-item img {
    width: 100% !important;
    height: 285px !important;
    min-height: 285px !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}

/* Texto ocupa todo el ancho de la card */
.cont_listado > .izq > ul > li.bordes_cortados .text {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Footer con aire */
.cont_listado > .izq > ul > li.bordes_cortados > .text {
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 36px !important;
}

/* Responsive */
@media (max-width: 1024px) {
    .cont_listado > .izq > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .cont_listado > .izq > ul {
        grid-template-columns: 1fr !important;
    }
}

/* ==================================================
   HABITACIONES INTRAVIVIENDA - REDISEÑO VIVER
   Shortcode: [habitaciones_intravivienda]
   ================================================== */

.cont_listado.con_listado {
    width: 100% !important;
    max-width: 1140px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.cont_listado.con_listado > .izq {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
}

.cont_listado.con_listado > .izq > ul {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 30px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

/* Card */
.cont_listado.con_listado > .izq > ul > li.bordes_cortados {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background: #FAF4F2 !important;
    border: 1px solid #E4DAD4 !important;
    box-shadow: none !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    position: relative !important;
}

/* Quitar cortes antiguos */
.cont_listado.con_listado > .izq > ul > li.bordes_cortados::before,
.cont_listado.con_listado > .izq > ul > li.bordes_cortados::after {
    display: none !important;
    content: none !important;
}

/* Imagen / carrusel */
.cont_listado.con_listado .cont_carrusel {
    width: 100% !important;
    height: 260px !important;
    min-height: 260px !important;
    overflow: hidden !important;
    position: relative !important;
    border-radius: 18px 18px 0 0 !important;
}

.cont_listado.con_listado .carrusel,
.cont_listado.con_listado .galeria_listado,
.cont_listado.con_listado .owl-stage-outer,
.cont_listado.con_listado .owl-stage,
.cont_listado.con_listado .owl-item,
.cont_listado.con_listado .item {
    height: 260px !important;
    min-height: 260px !important;
}

/* No forzar width de .owl-stage ni .owl-item */
.cont_listado.con_listado .item img,
.cont_listado.con_listado .owl-item img {
    width: 100% !important;
    height: 260px !important;
    min-height: 260px !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}

/* Badge Tour */
.cont_listado.con_listado .tourvirtual {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    z-index: 20 !important;
    background: rgba(245, 237, 220, 0.88) !important;
    color: #706E68 !important;
    padding: 9px 22px !important;
    border-radius: 999px !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 12px !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* Contenido */
.cont_listado.con_listado .viver-content {
    background: #FAF4F2 !important;
    padding: 24px 26px 24px !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
        "header header"
        "price button" !important;
    gap: 22px 20px !important;
    box-sizing: border-box !important;
    min-height: 185px !important;
}

/* Header */
.cont_listado.con_listado .viver-header {
    grid-area: header !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #DDD2CC !important;
}

/* Título habitación */
.cont_listado.con_listado .viver-header h3 {
    font-family: 'Space Mono', monospace !important;
    font-size: 22px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -0.5px !important;
    color: #191919 !important;
    margin: 0 0 16px !important;
}

/* Metros */
.cont_listado.con_listado .viver-header span {
    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    color: #5F5F5F !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 18px !important;
}

/* Icono metros */
.cont_listado.con_listado .viver-header span::before {
    content: "" !important;
    width: 14px !important;
    height: 14px !important;
    display: inline-block !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235F5F5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 9V4h5'/%3E%3Cpath d='M20 9V4h-5'/%3E%3Cpath d='M4 15v5h5'/%3E%3Cpath d='M20 15v5h-5'/%3E%3C/svg%3E") !important;
}

/* Precio */
.cont_listado.con_listado .viver-price {
    grid-area: price !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    float: none !important;
}

.cont_listado.con_listado .viver-price::before {
    content: "DESDE";
    display: block;
    font-family: 'Space Mono', monospace !important;
    font-size: 12px !important;
    color: #5F5F5F !important;
    margin-bottom: 6px !important;
    letter-spacing: .3px !important;
}

.cont_listado.con_listado .viver-price strong {
    font-family: 'Space Mono', monospace !important;
    color: #191919 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

/* Ocultar disponibilidad vieja dentro del footer */
.cont_listado.con_listado .viver-footer .txt {
    display: none !important;
}

/* Footer botón */
.cont_listado.con_listado .viver-footer {
    grid-area: button !important;
    align-self: center !important;
    justify-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    float: none !important;
    background: transparent !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}

/* Botón */
.cont_listado.con_listado .viver-footer .viver-btn,
.cont_listado.con_listado .viver-footer a {
    width: auto !important;
    min-width: 135px !important;
    height: 42px !important;
    padding: 0 20px !important;
    background: #3D3A3A !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

/* Flecha del botón */
.cont_listado.con_listado .viver-footer .viver-btn::after,
.cont_listado.con_listado .viver-footer a::after {
    content: "" !important;
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important;
    transform: rotate(45deg) !important;
    margin-left: 10px !important;
}

/* Responsive */
@media (max-width: 1024px) {
    .cont_listado.con_listado > .izq > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .cont_listado.con_listado > .izq > ul {
        grid-template-columns: 1fr !important;
    }

    .cont_listado.con_listado .cont_carrusel,
    .cont_listado.con_listado .carrusel,
    .cont_listado.con_listado .galeria_listado,
    .cont_listado.con_listado .owl-stage-outer,
    .cont_listado.con_listado .owl-stage,
    .cont_listado.con_listado .owl-item,
    .cont_listado.con_listado .item,
    .cont_listado.con_listado .item img,
    .cont_listado.con_listado .owl-item img {
        height: 240px !important;
        min-height: 240px !important;
    }

    .cont_listado.con_listado .viver-content {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "header"
            "price"
            "button" !important;
    }

    .cont_listado.con_listado .viver-footer {
        justify-self: start !important;
    }
}

/* ==================================================
   FORMULARIO FECHAS + COMPROBACIÓN DISPONIBILIDAD
   Shortcodes:
   [form_comprobar_fechas]
   [comprobacion_disponibilidad]
   Fondo caja oscuro
   ================================================== */

/* Contenedor general del formulario */
.form_disponibilidad {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Space Mono', monospace !important;
}

/* Wrapper de fechas */
.form_disponibilidad .datepicker-wrapper {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Loader */
.form_disponibilidad .datepicker-loader {
    font-family: 'Space Mono', monospace !important;
    font-size: 13px !important;
    color: rgba(255,255,255,.65) !important;
    margin-bottom: 12px !important;
}

/* Inputs de fecha */
.form_disponibilidad input[type="text"],
.form_disponibilidad input[type="date"],
.form_disponibilidad #datepicker,
.form_disponibilidad #datepicker2 {
    width: 100% !important;
    height: 48px !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid rgba(255,255,255,.55) !important;
    border-radius: 0 !important;
    padding: 0 0 10px 0 !important;
    color: #fff !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    outline: none !important;
    box-shadow: none !important;
}

.form_disponibilidad input[type="text"]::placeholder,
.form_disponibilidad input[type="date"]::placeholder {
    color: rgba(255,255,255,.65) !important;
}

.form_disponibilidad input[type="text"]:focus,
.form_disponibilidad input[type="date"]:focus,
.form_disponibilidad #datepicker:focus,
.form_disponibilidad #datepicker2:focus {
    border-bottom-color: #FAF4F2 !important;
}

/* Botón Reservar Ahora */
.form_disponibilidad input[type="submit"],
.form_disponibilidad button,
.form_disponibilidad #pagar {
    align-self: center !important;
    width: auto !important;
    min-width: 180px !important;
    height: 52px !important;
    margin-top: 14px !important;
    padding: 0 34px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.85) !important;
    background: transparent !important;
    color: #fff !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all .25s ease !important;
}

.form_disponibilidad input[type="submit"]:hover,
.form_disponibilidad button:hover,
.form_disponibilidad #pagar:hover {
    background: #FAF4F2 !important;
    color: #3D3A3A !important;
    border-color: #FAF4F2 !important;
}

/* ==================================================
   RESULTADO DISPONIBILIDAD
   ================================================== */

/* Mensaje base */
.estado {
    width: 100% !important;
    margin: 22px 0 0 !important;
    padding: 18px 20px !important;
    border-radius: 0 !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    box-sizing: border-box !important;
}

/* Ocupado */
.estado_ocupado {
    background: #EFA4A7 !important;
    color: #2E2B2B !important;
    border: none !important;
}

/* Libre */
.estado_libre {
    background: #A8B49C !important;
    color: #1F1F1F !important;
    border: none !important;
}

/* Contenedor donde carga el resultado */
#form_reserva {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==================================================
   AJUSTE SI EL SHORTCODE ESTÁ DENTRO DE LA CAJA OSCURA
   ================================================== */

.elementor-widget-shortcode .form_disponibilidad,
.elementor-widget-shortcode #form_reserva,
.elementor-widget-shortcode .estado {
    font-family: 'Space Mono', monospace !important;
}

/* Evitar fondos grises heredados en la caja oscura */
.form_disponibilidad,
.form_disponibilidad form,
.form_disponibilidad .datepicker-wrapper {
    background: transparent !important;
}

/* Línea separadora visual si hace falta */
.form_disponibilidad::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: rgba(255,255,255,.28);
    margin: 0 0 28px;
}

/* WhatsApp debajo */
.form_disponibilidad + .whatsapp,
.pregunta-whatsapp,
a[href*="wa.me"],
a[href*="whatsapp"] {
    font-family: 'Space Mono', monospace !important;
}

/* ==================================================
   RESPONSIVE
   ================================================== */

@media (max-width: 767px) {
    .form_disponibilidad .datepicker-wrapper {
        gap: 16px !important;
    }

    .form_disponibilidad input[type="text"],
    .form_disponibilidad input[type="date"],
    .form_disponibilidad #datepicker,
    .form_disponibilidad #datepicker2 {
        height: 46px !important;
        font-size: 15px !important;
    }

    .form_disponibilidad input[type="submit"],
    .form_disponibilidad button,
    .form_disponibilidad #pagar {
        width: 100% !important;
        min-width: 0 !important;
    }

    .estado {
        font-size: 12px !important;
        padding: 16px !important;
    }
}

/* Bordes redondeados aviso ocupado/libre */
.estado,
.estado_ocupado,
.estado_libre {
    border-radius: 12px !important;
}

/* Bordes redondeados para el mapa */
#mapa_ficha {
    border-radius: 12px !important;
    overflow: hidden !important;
}

/* ==================================================
   HABITACIONES GENERAL - DISPONIBILIDAD + METAS
   ================================================== */

.listado_habitaciones_general .cont_carrusel {
    position: relative !important;
}

/* Tour 3D */
.listado_habitaciones_general .tourvirtual {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    right: auto !important;
    z-index: 30 !important;
    font-family: 'Space Mono', monospace !important;
}

/* Badge disponibilidad */
.listado_habitaciones_general .hab-badge-disponibilidad {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    left: auto !important;
    z-index: 40 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-family: 'Space Mono', monospace !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    padding: 9px 14px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

/* Disponible ahora */
.listado_habitaciones_general .hab-badge-disponibilidad.libre {
    background: #8E9B82 !important;
    color: #1F1F1F !important;
}

/* Disponible en fecha futura */
.listado_habitaciones_general .hab-badge-disponibilidad.ocupada {
    background: #3D3A3A !important;
    color: #fff !important;
}

/* Metas generales */
.listado_habitaciones_general .meta-room {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;
    margin: 0 0 6px !important;
}

/* Reset de iconos anteriores que podían interferir */
.listado_habitaciones_general .meta-room::before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: 14px !important;
    height: 14px !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
}

/* Icono ubicación */
.listado_habitaciones_general .meta-location::before {
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235F5F5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important;
}

/* Icono metros */
.listado_habitaciones_general .meta-metros::before {
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235F5F5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 9V4h5'/%3E%3Cpath d='M20 9V4h-5'/%3E%3Cpath d='M4 15v5h5'/%3E%3Cpath d='M20 15v5h-5'/%3E%3C/svg%3E") !important;
}

/* Icono baños */
.listado_habitaciones_general .meta-banos::before {
    width: 15px !important;
    height: 15px !important;
    background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%235F5F5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 6V5a2 2 0 0 1 2-2h1a2 2 0 0 1 2 2v1'/%3E%3Cpath d='M4 10h16'/%3E%3Cpath d='M5 10v4a6 6 0 0 0 12 0v-4'/%3E%3Cpath d='M7 20h10'/%3E%3C/svg%3E") !important;
}

/* ==================================================
   FIX METROS + ESPACIADO CARDS HABITACIONES
   ================================================== */

/* Meta general */
.listado_habitaciones_general .meta-room {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;
    margin: 0 0 6px !important;
}

/* Evitar que CSS anterior intente meter iconos duplicados */
.listado_habitaciones_general .meta-metros::before {
    content: none !important;
    display: none !important;
}

/* SVG real del icono metros */
.listado_habitaciones_general .meta-icon {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    margin-top: 3px !important;
    color: #5F5F5F !important;
    display: inline-block !important;
}

/* Ubicación con altura mínima para que no se pegue si ocupa 2 líneas */
.listado_habitaciones_general .meta-location {
    min-height: 42px !important;
}

/* Aire entre bloque de datos y línea */
.listado_habitaciones_general .text .izq {
    margin-bottom: 18px !important;
}

/* Un poco más de altura interna para que no se corte el footer */
.listado_habitaciones_general .bordes_cortados .text {
    min-height: 245px !important;
    padding-bottom: 30px !important;
}

/* ==================================================
   FIX CORTE INFERIOR CARDS HABITACIONES
   ================================================== */

/* La card debe crecer según su contenido */
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* El bloque de texto no debe tener altura fija vieja */
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text {
    height: auto !important;
    min-height: 300px !important;
    max-height: none !important;
    overflow: visible !important;

    padding: 28px 28px 48px !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "info info"
        "line line"
        "price button" !important;
    align-content: start !important;
    box-sizing: border-box !important;
}

/* Info superior */
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq {
    grid-area: info !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Línea separadora */
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text::after {
    content: "" !important;
    grid-area: line !important;
    display: block !important;
    height: 1px !important;
    background: #DDD2CC !important;
    margin: 24px 0 24px !important;
}

/* Precio */
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .der {
    grid-area: price !important;
    position: static !important;
    align-self: start !important;
    justify-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

/* Botón */
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .boton {
    grid-area: button !important;
    position: static !important;
    align-self: start !important;
    justify-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
}

/* Botón interno */
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .boton a {
    position: static !important;
    transform: none !important;
    margin: 0 !important;
}

/* Asegurar que no haya elementos flotados rompiendo altura */
.cont_listado.listado_habitaciones_general .borrar {
    display: none !important;
}

/* ==================================================
   FIX ALINEACIÓN UBICACIÓN - LISTADO HABITACIONES
   ================================================== */

/* Reset ubicación */
.listado_habitaciones_general .meta-location {
    display: grid !important;
    grid-template-columns: 14px 1fr !important;
    column-gap: 8px !important;
    align-items: center !important;

    min-height: 0 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;

    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;
}

/* Icono ubicación SVG real */
.listado_habitaciones_general .meta-location .meta-icon-location {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    margin: 0 !important;
    transform: translateY(1px) !important;
    color: #5F5F5F !important;
    display: block !important;
}

/* Para que metros y baños queden alineados igual */
.listado_habitaciones_general .meta-metros,
.listado_habitaciones_general .meta-banos {
    display: grid !important;
    grid-template-columns: 14px 1fr !important;
    column-gap: 8px !important;
    align-items: center !important;

    margin: 0 0 6px !important;
    padding: 0 !important;

    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;
}

/* Iconos de metros y baños alineados */
.listado_habitaciones_general .meta-metros .meta-icon,
.listado_habitaciones_general .meta-banos .meta-icon,
.listado_habitaciones_general .meta-metros::before,
.listado_habitaciones_general .meta-banos::before {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    margin: 0 !important;
    transform: translateY(1px) !important;
}

/* Espacio controlado entre título y datos */
.listado_habitaciones_general .bordes_cortados > .text > .izq h3 {
    margin-bottom: 18px !important;
}

/* Quitar cualquier separación vieja */
.listado_habitaciones_general .bordes_cortados > .text > .izq span {
    padding-left: 0 !important;
}

/* Quitar icono duplicado de ubicación */
.listado_habitaciones_general .meta-location::before,
.listado_habitaciones_general .meta-location::after {
    content: none !important;
    display: none !important;
    background-image: none !important;
}

/* Mantener solo el SVG real agregado por PHP */
.listado_habitaciones_general .meta-location {
    display: grid !important;
    grid-template-columns: 14px 1fr !important;
    column-gap: 8px !important;
    align-items: center !important;
    padding-left: 0 !important;
    background: none !important;
}

.listado_habitaciones_general .meta-location .meta-icon-location {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    margin: 0 !important;
    transform: translateY(1px) !important;
    color: #5F5F5F !important;
}

/* ==================================================
   ALINEAR ICONOS META - UBICACIÓN / METROS / BAÑOS
   ================================================== */

.listado_habitaciones_general .meta-room {
    display: grid !important;
    grid-template-columns: 16px 1fr !important;
    column-gap: 7px !important;
    align-items: center !important;

    margin: 0 0 6px !important;
    padding: 0 !important;

    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;
}

/* Apagar pseudo iconos SOLO en ubicación porque ya tiene SVG en PHP */
.listado_habitaciones_general .meta-location::before,
.listado_habitaciones_general .meta-location::after {
    content: none !important;
    display: none !important;
}

/* SVG ubicación */
.listado_habitaciones_general .meta-location .meta-icon-location {
    grid-column: 1 !important;
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    margin: 0 !important;
    transform: translateY(1px) !important;
    color: #5F5F5F !important;
    display: block !important;
}

/* Pseudo iconos de metros y baños ocupan la primera columna */
.listado_habitaciones_general .meta-metros::before,
.listado_habitaciones_general .meta-banos::before {
    grid-column: 1 !important;
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    margin: 0 !important;
    transform: translateY(1px) !important;
}

/* Quitar padding/fondos viejos que empujaban ubicación */
.listado_habitaciones_general .meta-location {
    padding-left: 0 !important;
    background: none !important;
    min-height: 0 !important;
}

/* ==================================================
   FIX FINAL ICONO UBICACIÓN SIN SALTO DE LÍNEA
   ================================================== */

.cont_listado.listado_habitaciones_general 
.bordes_cortados > .text > .izq > span.meta-location {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    color: #5F5F5F !important;
}

/* Icono ubicación */
.cont_listado.listado_habitaciones_general 
.bordes_cortados > .text > .izq > span.meta-location svg,
.cont_listado.listado_habitaciones_general 
.bordes_cortados > .text > .izq > span.meta-location .meta-icon-location {
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    flex: 0 0 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
    transform: translateY(1px) !important;
    color: #5F5F5F !important;
}

/* Apagar cualquier icono viejo duplicado */
.cont_listado.listado_habitaciones_general 
.bordes_cortados > .text > .izq > span.meta-location::before,
.cont_listado.listado_habitaciones_general 
.bordes_cortados > .text > .izq > span.meta-location::after {
    content: none !important;
    display: none !important;
}

/* ==================================================
   FIX UBICACIÓN SIN SALTO + ICONO ALINEADO
   ================================================== */

/* Línea ubicación igual que metros y baños */
.cont_listado.listado_habitaciones_general .bordes_cortados > .text > .izq > span.meta-location {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;

    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;

    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;

    white-space: normal !important;
    background: none !important;
}

/* Quitar cualquier SVG viejo que haya quedado */
.cont_listado.listado_habitaciones_general .meta-location svg,
.cont_listado.listado_habitaciones_general .meta-location .meta-icon-location {
    display: none !important;
}

/* Icono ubicación generado por CSS, como baños/metros */
.cont_listado.listado_habitaciones_general .bordes_cortados > .text > .izq > span.meta-location::before {
    content: "" !important;
    display: inline-block !important;

    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    flex: 0 0 14px !important;

    margin: 0 !important;
    padding: 0 !important;

    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center center !important;

    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235F5F5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important;
}

/* Evitar iconos duplicados */
.cont_listado.listado_habitaciones_general .bordes_cortados > .text > .izq > span.meta-location::after {
    content: none !important;
    display: none !important;
}

/* ==================================================
   FIX FINAL UBICACIÓN - SIN SALTO + ICONO EN EL ESPACIO IZQUIERDO
   ================================================== */

/* Pisamos la regla vieja del first-of-type */
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location,
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location:first-of-type {
    display: block !important;
    position: relative !important;

    width: 100% !important;
    min-height: 0 !important;

    padding: 0 0 0 20px !important;
    margin: 0 0 8px !important;

    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;

    background: none !important;
    white-space: normal !important;
    box-sizing: border-box !important;
}

/* Ocultar SVG viejo si quedó en el HTML */
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location svg,
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location .meta-icon-location {
    display: none !important;
}

/* Quitar icono viejo duplicado */
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location::after {
    content: none !important;
    display: none !important;
}

/* Icono ubicación dentro del espacio izquierdo */
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location::before,
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location:first-of-type::before {
    content: "" !important;
    display: block !important;

    position: absolute !important;
    left: 0 !important;
    top: 4px !important;

    width: 14px !important;
    height: 14px !important;

    margin: 0 !important;
    padding: 0 !important;

    background-repeat: no-repeat !important;
    background-size: 14px 14px !important;
    background-position: center center !important;

    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235F5F5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important;
}

/* ==================================================
   GALERÍA ZONAS COMUNES - SHOWCASE
   Shortcode: [galeria_habitacion]
   ================================================== */

.galeria_habitacion_showcase {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
    font-family: 'Space Mono', monospace !important;
}

/* Contador */
.galeria_habitacion_top {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin-bottom: 14px !important;
}

.galeria_habitacion_counter {
    font-family: 'Space Mono', monospace !important;
    font-size: 13px !important;
    color: #5F5F5F !important;
    white-space: nowrap !important;
}

/* Imagen principal */
.galeria_habitacion_main {
    position: relative !important;
    width: 100% !important;
    height: 450px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #EDE3DC !important;
}

.galeria_habitacion_main_link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.galeria_habitacion_main_img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    transform: scale(1) !important;
    opacity: 1 !important;
    transition: opacity .28s ease, transform .45s ease !important;
}

.galeria_habitacion_showcase.is-changing .galeria_habitacion_main_img {
    opacity: 0 !important;
    transform: scale(1.025) !important;
}

/* Etiqueta inferior */
.galeria_habitacion_label {
    position: absolute !important;
    left: 18px !important;
    bottom: 16px !important;
    z-index: 4 !important;
    background: rgba(250, 244, 242, .92) !important;
    color: #3D3A3A !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

/* Flechas */
.galeria_habitacion_arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 5 !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
    border: none !important;
    background: rgba(250,244,242,.88) !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.12) !important;
    transition: all .25s ease !important;
}

.galeria_habitacion_arrow:hover {
    background: #3D3A3A !important;
}

.galeria_habitacion_arrow.prev {
    left: 18px !important;
}

.galeria_habitacion_arrow.next {
    right: 18px !important;
}

.galeria_habitacion_arrow::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 10px !important;
    height: 10px !important;
    border-top: 2px solid #3D3A3A !important;
    border-right: 2px solid #3D3A3A !important;
    transition: border-color .25s ease !important;
}

.galeria_habitacion_arrow:hover::before {
    border-color: #fff !important;
}

.galeria_habitacion_arrow.prev::before {
    transform: translate(-35%, -50%) rotate(-135deg) !important;
}

.galeria_habitacion_arrow.next::before {
    transform: translate(-65%, -50%) rotate(45deg) !important;
}

/* Miniaturas */
.galeria_habitacion_thumbs {
    display: flex !important;
    gap: 16px !important;
    margin-top: 18px !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
    scrollbar-width: thin !important;
}

.galeria_habitacion_thumb {
    width: 150px !important;
    min-width: 150px !important;
    height: 92px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 2px solid transparent !important;
    background: transparent !important;
    cursor: pointer !important;
    opacity: .7 !important;
    transition: opacity .25s ease, transform .25s ease, border-color .25s ease !important;
}

.galeria_habitacion_thumb:hover {
    opacity: 1 !important;
    transform: translateY(-2px) !important;
}

.galeria_habitacion_thumb.active {
    opacity: 1 !important;
    border-color: #8E9B82 !important;
}

.galeria_habitacion_thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Neutralizar estilos anteriores */
.galeria_habitacion_grid,
.galeria_habitacion_carousel_wrap,
.galeria_habitacion_carousel {
    display: block !important;
}

/* Responsive */
@media (max-width: 1024px) {
    .galeria_habitacion_showcase {
        max-width: 100% !important;
    }

    .galeria_habitacion_main {
        height: 380px !important;
    }
}

@media (max-width: 767px) {
    .galeria_habitacion_main {
        height: 300px !important;
        border-radius: 16px !important;
    }

    .galeria_habitacion_thumb {
        width: 118px !important;
        min-width: 118px !important;
        height: 76px !important;
    }

    .galeria_habitacion_arrow {
        width: 38px !important;
        height: 38px !important;
    }
}

/* ==================================================
   BLOG VIVER - SHORTCODE NOTICIAS
   ================================================== */

.viver-blog-grid {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.viver-blog-card {
    background: #FAF4F2;
    border: 1px solid #E4DAD4;
    border-radius: 18px;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
    display: flex;
    height: 100%;
}

.viver-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(0,0,0,.08);
}

.viver-blog-card-link {
    display: flex;
    flex-direction: column;
    color: inherit;
    text-decoration: none !important;
    width: 100%;
    height: 100%;
}

.viver-blog-card-image {
    width: 100%;
    height: 260px;
    background: #EDE3DC;
    overflow: hidden;
    flex-shrink: 0;
}

.viver-blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}

.viver-blog-card:hover .viver-blog-card-image img {
    transform: scale(1.04);
}

.viver-blog-card-image-placeholder {
    background: linear-gradient(135deg, #EDE3DC, #FAF4F2);
    min-height: 260px;
}

.viver-blog-card-content {
    padding: 28px 28px 30px;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.viver-blog-card-date {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    background: #EDE3DC;
    color: #6E655F;
    border-radius: 999px;
    padding: 8px 14px;
    margin-bottom: 18px;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.viver-blog-card-content h3 {
    font-family: 'Space Mono', monospace;
    font-size: 22px;
    line-height: 1.18;
    font-weight: 700;
    color: #191919;
    margin: 0 0 18px;
}

.viver-blog-card-content p {
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    line-height: 1.6;
    color: #5F5F5F;
    margin: 0 0 24px;
}

.viver-blog-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #191919;
    margin-top: auto;
    padding-top: 10px;
}

.viver-blog-card-cta::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
    margin-top: 1px;
    flex-shrink: 0;
}

@media (max-width: 1024px) {
    .viver-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .viver-blog-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .viver-blog-card-image,
    .viver-blog-card-image-placeholder {
        height: 230px;
        min-height: 230px;
    }

    .viver-blog-card-content {
        padding: 24px;
    }

    .viver-blog-card-content h3 {
        font-size: 20px;
    }

    .viver-blog-card-content p,
    .viver-blog-card-cta {
        font-size: 16px;
    }
}

/* ==================================================
   FIX IMAGEN BLOG CUBRIR TODO EL CONTENEDOR
   ================================================== */

.viver-blog-card-image {
    width: 100% !important;
    height: 260px !important;
    min-height: 260px !important;
    max-height: 260px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
    display: block !important;
    background: transparent !important;
}

/* Por si Elementor/WordPress mete figure/picture */
.viver-blog-card-image figure,
.viver-blog-card-image picture {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0 !important;
}

/* Imagen ocupando todo */
.viver-blog-card-image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 260px !important;
    max-height: 260px !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Evitar espacio blanco/beige entre imagen y contenido */
.viver-blog-card-image + .viver-blog-card-content {
    margin-top: 0 !important;
}

/* Si hay placeholder */
.viver-blog-card-image-placeholder {
    height: 260px !important;
    min-height: 260px !important;
    max-height: 260px !important;
}

/* ==================================================
   FILTROS EXTRA BARCELONA - HABITACIONES
   ================================================== */

.viver-filtros-extra {
    max-width: 1140px;
    margin: 22px auto 34px;
    padding: 22px;
    border: 1px solid #DDD2CC;
    border-radius: 14px;
    background: rgba(250,244,242,.65);
}

.viver-filtros-extra-nota {
    border: 1px solid #8E9B82;
    background: rgba(142,155,130,.16);
    color: #375326;
    border-radius: 10px;
    padding: 14px 18px;
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    margin-bottom: 20px;
}

.viver-filtros-extra-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.viver-filtro-grupo + .viver-filtro-grupo {
    border-left: 1px solid #DDD2CC;
    padding-left: 28px;
}

.viver-filtro-label {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #3D3A3A;
    margin-bottom: 10px;
}

.viver-filtro-opciones {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.viver-filter-small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid #DDD2CC;
    background: #fff;
    color: #3D3A3A;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
}

.viver-filter-small.active,
.viver-filter-small:hover {
    background: #3D3A3A;
    border-color: #3D3A3A;
    color: #fff;
}

.viver-filtros-limpiar {
    display: inline-flex;
    margin-top: 18px;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    color: #5F5F5F;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

.viver-resultados-resumen {
    grid-column: 1 / -1;
    width: 100%;
    margin: 0 0 22px;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    color: #3D3A3A;
}

@media (max-width: 767px) {
    .viver-filtros-extra-row {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .viver-filtro-grupo + .viver-filtro-grupo {
        border-left: 0;
        padding-left: 0;
        border-top: 1px solid #DDD2CC;
        padding-top: 22px;
    }

    .viver-filter-small {
        font-size: 13px;
        padding: 0 14px;
    }
}

/* ==================================================
   FILTROS EXTRA BARCELONA - HABITACIONES
   Shortcode: [listado_habitaciones_general]
   ================================================== */

.viver-filtros-extra {
    max-width: 1140px;
    margin: 22px auto 34px;
    padding: 24px;
    border: 1px solid #DDD2CC;
    border-radius: 16px;
    background: rgba(250,244,242,.72);
}

.viver-filtros-extra-nota {
    display: none !important;
}

.viver-filtros-extra-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.viver-filtro-grupo + .viver-filtro-grupo {
    border-left: 1px solid #DDD2CC;
    padding-left: 28px;
}

.viver-filtro-label {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #3D3A3A;
    margin-bottom: 12px;
}

.viver-filtro-opciones {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.viver-filter-small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid #DDD2CC;
    background: #fff;
    color: #3D3A3A;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
    transition: all .22s ease;
}

.viver-filter-small.active,
.viver-filter-small:hover {
    background: #3D3A3A;
    border-color: #3D3A3A;
    color: #fff;
}

.viver-filtros-limpiar {
    display: inline-flex;
    margin-top: 18px;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    color: #5F5F5F;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

/* Barra resumen + ordenamiento */

.viver-resultados-bar {
    grid-column: 1 / -1;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    align-items: center;
    margin: 0 0 24px;
}

.viver-resultados-resumen {
    margin: 0 !important;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 1.35;
    color: #3D3A3A;
}

.viver-orden-form {
    width: 100%;
    margin: 0;
}

.viver-orden-form select {
    width: 100%;
    height: 46px;
    border: 1px solid #DDD2CC;
    border-radius: 9px;
    background: #fff;
    padding: 0 16px;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    color: #3D3A3A;
    outline: none;
}

/* ==================================================
   METAS CARDS HABITACIONES - UBICACIÓN / METROS / BAÑOS
   Mantiene iconos alineados sin duplicar ubicación
   ================================================== */

.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location,
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location:first-of-type {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 0 0 20px !important;
    margin: 0 0 8px !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;
    background: none !important;
    white-space: normal !important;
    box-sizing: border-box !important;
}

.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location svg,
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location .meta-icon-location {
    display: none !important;
}

.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location::after {
    content: none !important;
    display: none !important;
}

.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location::before,
.cont_listado.listado_habitaciones_general > .izq > ul > li.bordes_cortados > .text > .izq > span.meta-location:first-of-type::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 4px !important;
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-repeat: no-repeat !important;
    background-size: 14px 14px !important;
    background-position: center center !important;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235F5F5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1 1 18 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important;
}

.listado_habitaciones_general .meta-metros {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;
}

.listado_habitaciones_general .meta-metros .meta-icon-metros {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    flex: 0 0 14px !important;
    margin: 0 !important;
    color: #5F5F5F !important;
    display: block !important;
}

.listado_habitaciones_general .meta-banos {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;
}

/* ==================================================
   RESPONSIVE FILTROS
   ================================================== */

@media (max-width: 767px) {
    .viver-filtros-extra {
        padding: 20px;
        margin: 18px auto 28px;
    }

    .viver-filtros-extra-row {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .viver-filtro-grupo + .viver-filtro-grupo {
        border-left: 0;
        padding-left: 0;
        border-top: 1px solid #DDD2CC;
        padding-top: 22px;
    }

    .viver-filter-small {
        font-size: 13px;
        padding: 0 14px;
    }

    .viver-resultados-bar {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .viver-orden-form select {
        font-size: 15px;
    }
}

/* ==================================================
   FIX METROS EN UNA SOLA LÍNEA - HABITACIONES
   ================================================== */

.listado_habitaciones_general .meta-metros {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;

    width: 100% !important;
    margin: 0 0 6px !important;
    padding: 0 !important;

    white-space: nowrap !important;
    flex-wrap: nowrap !important;

    font-family: 'Space Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #5F5F5F !important;
}

.listado_habitaciones_general .meta-metros svg,
.listado_habitaciones_general .meta-metros .meta-icon,
.listado_habitaciones_general .meta-metros .meta-icon-metros {
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    flex: 0 0 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
    transform: translateY(1px) !important;
}

/* Evita que el texto salte debajo del icono */
.listado_habitaciones_general .meta-metros br {
    display: none !important;
}

/* ==================================================
   BUSCADOR HERO HOME - VIVER
   Shortcode: [buscador_habitaciones_home]
   ================================================== */

.viver-hero-search {
    width: 100%;
    max-width: 980px;
    min-height: 86px;
    display: grid;
    grid-template-columns: 1fr 1fr 190px;
    align-items: stretch;
    background: rgba(72, 63, 57, 0.78);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 22px;
    overflow: hidden;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.viver-hero-search-field {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px 28px;
    border-right: 1px solid rgba(255,255,255,.18);
}

.viver-hero-search-field label {
    font-family: 'Space Mono', monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: rgba(255,255,255,.62);
    margin-bottom: 8px;
}

.viver-hero-search-field select {
    width: 100%;
    border: 0;
    outline: none;
    background: transparent;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.2;
    padding: 0 26px 0 0;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.viver-hero-search-field select option {
    color: #1f1f1f;
    background: #fff;
}

.viver-hero-search-field::after {
    content: "";
    position: absolute;
    right: 24px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translateY(-20%) rotate(45deg);
    pointer-events: none;
    opacity: .9;
}

.viver-hero-search-btn {
    border: 0;
    outline: none;
    background: #A4AD98;
    color: #2F2C2B;
    font-family: 'Space Mono', monospace;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    transition: all .25s ease;
}

.viver-hero-search-btn:hover {
    background: #FAF4F2;
    color: #2F2C2B;
}

.viver-hero-search-icon {
    width: 19px;
    height: 19px;
    display: inline-flex;
}

.viver-hero-search-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Responsive */
@media (max-width: 900px) {
    .viver-hero-search {
        grid-template-columns: 1fr;
        max-width: 100%;
        border-radius: 18px;
    }

    .viver-hero-search-field {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.18);
    }

    .viver-hero-search-btn {
        min-height: 62px;
    }
}

/* ==================================================
   BUSCADOR HERO HOME - ESTILO VIVER FINAL
   Shortcode: [buscador_habitaciones_home]
   ================================================== */

.viver-hero-search {
    width: 100% !important;
    max-width: 960px !important;
    min-height: 88px !important;

    display: grid !important;
    grid-template-columns: 1fr 1fr 190px !important;
    align-items: stretch !important;

    background: rgba(65, 56, 50, 0.62) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 22px !important;
    overflow: hidden !important;

    backdrop-filter: blur(18px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(120%) !important;

    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.14) !important;
}

/* Cada bloque interno */
.viver-hero-search-field {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    min-height: 88px !important;
    padding: 20px 34px !important;

    border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
    background: rgba(61, 58, 58, 0.16) !important;
}

/* Labels */
.viver-hero-search-field label {
    font-family: 'Space Mono', monospace !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.6px !important;
    text-transform: uppercase !important;

    color: rgba(255, 255, 255, 0.58) !important;
    margin: 0 0 10px !important;
}

/* Selects */
.viver-hero-search-field select {
    width: 100% !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;

    background: transparent !important;
    color: #fff !important;

    font-family: 'Roboto', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    padding: 0 34px 0 0 !important;
    margin: 0 !important;

    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
}

/* Opciones nativas del desplegable */
.viver-hero-search-field select option {
    color: #1f1f1f !important;
    background: #fff !important;
}

/* Flecha select */
.viver-hero-search-field::after {
    content: "" !important;
    position: absolute !important;
    right: 34px !important;
    top: 56% !important;

    width: 9px !important;
    height: 9px !important;

    border-right: 2px solid rgba(255,255,255,.92) !important;
    border-bottom: 2px solid rgba(255,255,255,.92) !important;

    transform: translateY(-50%) rotate(45deg) !important;
    pointer-events: none !important;
}

/* Botón */
.viver-hero-search-btn {
    min-height: 88px !important;

    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;

    background: rgba(164, 173, 152, 0.92) !important;
    color: #2F2C2B !important;

    font-family: 'Space Mono', monospace !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: .3px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 13px !important;

    cursor: pointer !important;
    transition: all .25s ease !important;

    border-radius: 0 !important;
}

/* Evitar rosa/focus de Elementor o navegador */
.viver-hero-search-btn:focus,
.viver-hero-search-btn:active,
.viver-hero-search-btn:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important;
    background: rgba(164, 173, 152, 0.92) !important;
    color: #2F2C2B !important;
}

/* Hover */
.viver-hero-search-btn:hover {
    background: #FAF4F2 !important;
    color: #2F2C2B !important;
}

/* Icono lupa */
.viver-hero-search-icon {
    width: 19px !important;
    height: 19px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.viver-hero-search-icon svg {
    width: 19px !important;
    height: 19px !important;
    display: block !important;
}

/* Si Elementor aplica color rosa al SVG */
.viver-hero-search-btn svg,
.viver-hero-search-btn svg * {
    stroke: currentColor !important;
}

/* Responsive */
@media (max-width: 900px) {
    .viver-hero-search {
        max-width: 100% !important;
        grid-template-columns: 1fr !important;
        border-radius: 18px !important;
        min-height: auto !important;
    }

    .viver-hero-search-field {
        min-height: 74px !important;
        padding: 18px 24px !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
    }

    .viver-hero-search-field::after {
        right: 24px !important;
    }

    .viver-hero-search-btn {
        min-height: 66px !important;
        border-radius: 0 !important;
    }
}

/* ==================================================
   BOTÓN RESERVA TALLY - FORM COMPROBAR FECHAS
   ================================================== */

.form_disponibilidad .btn-reservar-tally {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 52px !important;
    padding: 0 34px !important;

    border-radius: 999px !important;
    border: 1px solid rgba(250,244,242,.9) !important;
    background: transparent !important;

    color: #FAF4F2 !important;
    font-family: 'Space Mono', monospace !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;

    cursor: pointer !important;
    transition: all .25s ease !important;
}

.form_disponibilidad .btn-reservar-tally:hover {
    background: #FAF4F2 !important;
    color: #3D3A3A !important;
}

/* ==================================================
   HABITACIONES RELACIONADAS
   ================================================== */

.elementor-widget-shortcode:has(.viver-relacionadas),
.elementor-widget-shortcode:has(.viver-relacionadas)
.elementor-widget-container {
    overflow: visible !important;
}

.viver-relacionadas {
    position: relative !important;
    width: 100% !important;
    max-width: 1140px !important;
    margin: 90px auto 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Titulo */

.viver-relacionadas-header {
    width: 100% !important;
    margin: 0 0 30px !important;
}

.viver-relacionadas-header h2 {
    margin: 0 !important;
    color: #4e545b !important;
    font-family: "Space Mono", monospace !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    letter-spacing: 5px !important;
}

.viver-relacionadas-header h2 em {
    display: inline !important;
    margin-left: 8px !important;
    color: #8e9b82 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 1em !important;
    font-weight: 400 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
}

/* Carrusel */

.viver-relacionadas-carousel-wrap {
    position: relative !important;
    width: 100% !important;
    overflow: visible !important;
}

.viver-relacionadas-carousel {
    position: relative !important;
    width: 100% !important;
    overflow: visible !important;
}

.viver-relacionadas-carousel .owl-stage-outer {
    overflow: hidden !important;
}

.viver-relacionadas-carousel .owl-stage {
    display: flex !important;
    align-items: stretch !important;
}

.viver-relacionadas-carousel .owl-item {
    display: flex !important;
    height: auto !important;
}

.viver-relacionadas-carousel .owl-item > article {
    display: flex !important;
    width: 100% !important;
}

/* Card */

.viver-relacionada-card {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e1d6cf !important;
    border-radius: 18px !important;
    background: #faf4f2 !important;
    box-sizing: border-box !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease !important;
}

.viver-relacionada-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.08) !important;
}

.viver-relacionada-link {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    color: inherit !important;
    text-decoration: none !important;
}

/* Imagen */

.viver-relacionada-imagen {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 260px !important;
    min-height: 260px !important;
    flex: 0 0 260px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #ede3dc !important;
    line-height: 0 !important;
}

.viver-relacionada-imagen img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: transform 0.4s ease !important;
}

.viver-relacionada-card:hover
.viver-relacionada-imagen img {
    transform: scale(1.045) !important;
}

.viver-relacionada-placeholder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(
        135deg,
        #ede3dc 0%,
        #f4ece7 100%
    ) !important;
}

.viver-relacionada-placeholder span {
    color: #9d938d !important;
    font-family: "Space Mono", monospace !important;
    font-size: 13px !important;
}

/* Contenido */

.viver-relacionada-contenido {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 270px !important;
    padding: 26px 26px 24px !important;
    box-sizing: border-box !important;
}

.viver-relacionada-contenido h3 {
    margin: 0 0 15px !important;
    color: #191919 !important;
    font-family: "Space Mono", monospace !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

/* Ubicacion */

.viver-relacionada-ubicacion {
    display: flex !important;
    align-items: flex-start !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #5f5f5f !important;
    font-family: "Space Mono", monospace !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.viver-relacionada-ubicacion::before {
    content: none !important;
    display: none !important;
}

.viver-relacionada-ubicacion svg {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    flex: 0 0 14px !important;
    margin: 3px 0 0 !important;
    padding: 0 !important;
}

/* Metros y banos */

.viver-relacionada-datos {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 9px 18px !important;
    width: 100% !important;
    margin: 0 0 22px !important;
    color: #5f5f5f !important;
    font-family: "Space Mono", monospace !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.viver-relacionada-metros,
.viver-relacionada-banos {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
}

/* Evitar iconos viejos duplicados */
.viver-relacionada-metros::before,
.viver-relacionada-metros::after,
.viver-relacionada-banos::before,
.viver-relacionada-banos::after {
    content: none !important;
    display: none !important;
}

.viver-relacionada-metros svg,
.viver-relacionada-banos svg {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    flex: 0 0 14px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Footer */

.viver-relacionada-footer {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: 100% !important;
    margin-top: auto !important;
    padding-top: 20px !important;
    border-top: 1px solid #dfd4cd !important;
}

.viver-relacionada-precio {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}

.viver-relacionada-precio > span {
    margin: 0 0 4px !important;
    color: #6c6662 !important;
    font-family: "Roboto", sans-serif !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}

.viver-relacionada-precio strong {
    color: #191919 !important;
    font-family: "Space Mono", monospace !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.viver-relacionada-boton {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 42px 0 19px !important;
    border-radius: 999px !important;
    background: #3d3a3a !important;
    color: #ffffff !important;
    font-family: "Space Mono", monospace !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    transition: background 0.25s ease !important;
}

/* Flecha del boton construida con CSS */
.viver-relacionada-boton::before {
    content: none !important;
    display: none !important;
}

.viver-relacionada-boton::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 20px !important;
    width: 7px !important;
    height: 7px !important;
    border-top: 2px solid currentColor !important;
    border-right: 2px solid currentColor !important;
    transform: translateY(-50%) rotate(45deg) !important;
}

.viver-relacionada-card:hover
.viver-relacionada-boton {
    background: #8e9b82 !important;
}

/* ==================================================
   FLECHAS EXTERIORES
   ================================================== */

.viver-relacionadas-carousel .owl-nav {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    pointer-events: none !important;
}

.viver-relacionadas-carousel
.owl-nav button.owl-prev,
.viver-relacionadas-carousel
.owl-nav button.owl-next {
    position: absolute !important;
    top: 50% !important;
    z-index: 30 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e1d6cf !important;
    border-radius: 50% !important;
    background: #faf4f2 !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.10) !important;
    transform: translateY(-50%) !important;
    pointer-events: auto !important;
    transition:
        background 0.25s ease,
        border-color 0.25s ease !important;
}

.viver-relacionadas-carousel
.owl-nav button.owl-prev {
    left: -64px !important;
}

.viver-relacionadas-carousel
.owl-nav button.owl-next {
    right: -64px !important;
}

/* Evitar caracteres generados por Owl */
.viver-relacionadas-carousel
.owl-nav button span {
    display: none !important;
}

.viver-relacionadas-carousel
.owl-nav button::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    display: block !important;
    width: 9px !important;
    height: 9px !important;
    border-top: 2px solid #3d3a3a !important;
    border-right: 2px solid #3d3a3a !important;
    transition: border-color 0.25s ease !important;
}

.viver-relacionadas-carousel
.owl-nav button.owl-prev::before {
    transform:
        translate(-35%, -50%)
        rotate(-135deg) !important;
}

.viver-relacionadas-carousel
.owl-nav button.owl-next::before {
    transform:
        translate(-65%, -50%)
        rotate(45deg) !important;
}

.viver-relacionadas-carousel
.owl-nav button:hover {
    border-color: #3d3a3a !important;
    background: #3d3a3a !important;
}

.viver-relacionadas-carousel
.owl-nav button:hover::before {
    border-color: #ffffff !important;
}

.viver-relacionadas-carousel
.owl-nav button.disabled {
    opacity: 0.25 !important;
    cursor: default !important;
}

/* ==================================================
   RESPONSIVE
   ================================================== */

@media (max-width: 1280px) {

    .viver-relacionadas {
        max-width: calc(100% - 120px) !important;
    }

    .viver-relacionadas-carousel
    .owl-nav button.owl-prev {
        left: -54px !important;
    }

    .viver-relacionadas-carousel
    .owl-nav button.owl-next {
        right: -54px !important;
    }
}

@media (max-width: 767px) {

    .viver-relacionadas {
        max-width: calc(100% - 76px) !important;
        margin-top: 60px !important;
    }

    .viver-relacionadas-header {
        margin-bottom: 24px !important;
    }

    .viver-relacionadas-header h2 {
        font-size: 26px !important;
        letter-spacing: 3px !important;
    }

    .viver-relacionadas-header h2 em {
        display: block !important;
        margin: 6px 0 0 !important;
    }

    .viver-relacionada-imagen {
        height: 235px !important;
        min-height: 235px !important;
        flex-basis: 235px !important;
    }

    .viver-relacionada-contenido {
        min-height: 255px !important;
        padding: 22px !important;
    }

    .viver-relacionada-footer {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .viver-relacionada-boton {
        width: 100% !important;
    }

    .viver-relacionadas-carousel
    .owl-nav button.owl-prev,
    .viver-relacionadas-carousel
    .owl-nav button.owl-next {
        width: 40px !important;
        height: 40px !important;
    }

    .viver-relacionadas-carousel
    .owl-nav button.owl-prev {
        left: -46px !important;
    }

    .viver-relacionadas-carousel
    .owl-nav button.owl-next {
        right: -46px !important;
    }
}

/* ==================================================
   FORZAR ESTILO PÍLDORAS (FINAS PERO LARGAS)
   ================================================== */

/* 1. Contenedor principal: Más separación entre píldoras */
form.viver-hero-search {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    gap: 20px !important; /* Aumentamos la separación entre los campos */
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    width: 100% !important;
}

/* 2. Casilleros: Finos de arriba/abajo, pero anchos a los lados */
form.viver-hero-search .viver-hero-search-field {
    background-color: #6a6358 !important;
    border-radius: 50px !important;
    padding: 0 30px !important; /* 0 aire arriba/abajo, 30px de aire a los lados */
    min-width: 250px !important; /* Forzamos a que sean largos */
    height: 50px !important; /* Altura fina */
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important; /* Centra el contenido verticalmente */
    margin: 0 !important; 
    box-sizing: border-box !important;
}

/* 3. Etiquetas (Ciudad, Fecha) */
form.viver-hero-search .viver-hero-search-field label {
    font-size: 10px !important; 
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #c3bbb0 !important;
    font-weight: 700 !important;
    margin-bottom: 2px !important; 
    display: block !important;
    text-align: left !important;
    line-height: 1 !important;
}

/* 4. Textos de Select e Input */
form.viver-hero-search .viver-hero-search-field select,
form.viver-hero-search .viver-hero-search-field input[type="date"] {
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 15px !important; 
    font-weight: 700 !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    cursor: pointer !important;
    box-shadow: none !important;
    line-height: 1.1 !important;
}

/* Forzar calendario del input date */
form.viver-hero-search .viver-hero-search-field input[type="date"] {
    color-scheme: dark !important; 
}

/* 5. Botón Buscar: Mismo alto, pero más ancho y verde */
form.viver-hero-search .viver-hero-search-btn {
    background-color: #8A9380 !important; /* Tu verde */
    color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important; 
    padding: 0 45px !important; /* Bastante aire a los lados para que sea largo */
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    height: 50px !important; /* Altura idéntica a los otros campos */
    transition: background-color 0.2s ease !important;
    box-sizing: border-box !important;
}

form.viver-hero-search .viver-hero-search-btn:hover {
    background-color: #767f6d !important; 
}

/* 6. Alinear el ícono de la lupa */
form.viver-hero-search .viver-hero-search-icon {
    display: inline-flex !important;
    align-items: center !important;
    margin-right: 8px !important;
}
form.viver-hero-search .viver-hero-search-icon svg {
    width: 16px !important;
    height: 16px !important;
    stroke: #ffffff !important;
}

/* ==================================================
   BUSCADOR HERO HOME - ESTILO FINAL
   Shortcode: [buscador_habitaciones_home]
   ================================================== */

.viver-hero-search.hero-search-v2 {
    width: 100% !important;
    max-width: 980px !important;
    height: 68px !important;
    min-height: 68px !important;

    display: grid !important;
    grid-template-columns: 1fr 1fr 170px !important;
    align-items: stretch !important;
    gap: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid rgba(250, 244, 242, 0.25) !important;
    border-radius: 18px !important;
    overflow: hidden !important;

    background: rgba(72, 63, 57, 0.62) !important;

    backdrop-filter: blur(16px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(115%) !important;

    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14) !important;
}

/* Campos */

.viver-hero-search.hero-search-v2 .viver-hero-search-field {
    position: relative !important;

    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) 18px !important;
    align-items: center !important;
    gap: 12px !important;

    min-width: 0 !important;
    height: 68px !important;
    min-height: 68px !important;

    padding: 0 26px !important;

    border-radius: 0 !important;
    border: 0 !important;
    border-right: 1px solid rgba(250, 244, 242, 0.18) !important;

    background: rgba(61, 58, 58, 0.24) !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}

/* Iconos izquierda */

.viver-hero-search.hero-search-v2 .viver-field-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 22px !important;
    height: 22px !important;

    color: #A4AD98 !important;
    opacity: 1 !important;
}

.viver-hero-search.hero-search-v2 .viver-field-icon svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
}

/* Contenido interno */

.viver-hero-search.hero-search-v2 .viver-field-content {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    min-width: 0 !important;
    height: 100% !important;
}

/* Labels */

.viver-hero-search.hero-search-v2 label {
    display: block !important;

    margin: 0 0 5px !important;
    padding: 0 !important;

    color: rgba(250, 244, 242, 0.55) !important;

    font-family: "Space Mono", monospace !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 1.45px !important;
    text-transform: uppercase !important;
}

/* Select ciudad */

.viver-hero-search.hero-search-v2 select {
    display: block !important;

    width: 100% !important;
    height: 24px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;

    background: transparent !important;
    color: #ffffff !important;

    font-family: "Roboto", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 24px !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    cursor: pointer !important;
}

.viver-hero-search.hero-search-v2 select option {
    color: #242121 !important;
    background: #ffffff !important;
}

/* Fecha visible */

.viver-hero-search.hero-search-v2 .viver-date-display {
    display: block !important;

    width: 100% !important;
    height: 24px !important;

    color: #ffffff !important;

    font-family: "Roboto", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 24px !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.viver-hero-search.hero-search-v2 .viver-date-display.has-value {
    color: #ffffff !important;
}

/* Input date real, invisible pero funcional */

.viver-hero-search.hero-search-v2 .viver-date-real {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;

    opacity: 0 !important;
    background: transparent !important;

    cursor: pointer !important;
    z-index: 4 !important;

    color: transparent !important;
}

/* Quitar icono nativo visible */
.viver-hero-search.hero-search-v2 .viver-date-real::-webkit-calendar-picker-indicator {
    cursor: pointer !important;
}

/* Flechas derecha */

.viver-hero-search.hero-search-v2 .viver-field-arrow {
    position: relative !important;

    display: block !important;
    width: 10px !important;
    height: 10px !important;

    pointer-events: none !important;
    z-index: 5 !important;
}

.viver-hero-search.hero-search-v2 .viver-field-arrow::before {
    content: "" !important;

    position: absolute !important;
    top: 1px !important;
    left: 0 !important;

    width: 8px !important;
    height: 8px !important;

    border-right: 2px solid rgba(250, 244, 242, 0.9) !important;
    border-bottom: 2px solid rgba(250, 244, 242, 0.9) !important;

    transform: rotate(45deg) !important;
}

/* Botón */

.viver-hero-search.hero-search-v2 .viver-hero-search-btn,
.viver-hero-search.hero-search-v2 button[type="submit"] {
    height: 68px !important;
    min-height: 68px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;

    margin: 0 !important;
    padding: 0 28px !important;

    border: 0 !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;

    background: rgba(164, 173, 152, 0.95) !important;
    color: #2F2C2B !important;

    font-family: "Space Mono", monospace !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.2px !important;

    cursor: pointer !important;

    transition: all 0.25s ease !important;
}

.viver-hero-search.hero-search-v2 .viver-hero-search-btn:hover,
.viver-hero-search.hero-search-v2 button[type="submit"]:hover {
    background: #FAF4F2 !important;
    color: #2F2C2B !important;
}

/* Evitar rosa de Elementor */

.viver-hero-search.hero-search-v2 .viver-hero-search-btn:focus,
.viver-hero-search.hero-search-v2 .viver-hero-search-btn:active,
.viver-hero-search.hero-search-v2 button[type="submit"]:focus,
.viver-hero-search.hero-search-v2 button[type="submit"]:active {
    background: rgba(164, 173, 152, 0.95) !important;
    color: #2F2C2B !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Icono lupa */

.viver-hero-search.hero-search-v2 .viver-hero-search-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 18px !important;
    height: 18px !important;
}

.viver-hero-search.hero-search-v2 .viver-hero-search-icon svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
}

.viver-hero-search.hero-search-v2 svg,
.viver-hero-search.hero-search-v2 svg * {
    stroke: currentColor !important;
}

/* Responsive */

@media (max-width: 900px) {

    .viver-hero-search.hero-search-v2 {
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        grid-template-columns: 1fr !important;

        border-radius: 18px !important;
    }

    .viver-hero-search.hero-search-v2 .viver-hero-search-field {
        height: 68px !important;
        min-height: 68px !important;

        border-right: 0 !important;
        border-bottom: 1px solid rgba(250, 244, 242, 0.18) !important;
    }

    .viver-hero-search.hero-search-v2 .viver-hero-search-btn,
    .viver-hero-search.hero-search-v2 button[type="submit"] {
        height: 64px !important;
        min-height: 64px !important;
    }
}

@media (max-width: 480px) {

    .viver-hero-search.hero-search-v2 .viver-hero-search-field {
        grid-template-columns: 20px minmax(0, 1fr) 16px !important;
        gap: 10px !important;
        padding: 0 20px !important;
    }

    .viver-hero-search.hero-search-v2 label {
        font-size: 9px !important;
        letter-spacing: 1.2px !important;
    }

    .viver-hero-search.hero-search-v2 select,
    .viver-hero-search.hero-search-v2 .viver-date-display {
        font-size: 14px !important;
    }
}

/* ==================================================
   FIX DOBLE FLECHA - BUSCADOR HERO
   ================================================== */

/* Elimina flechas antiguas del campo */
.viver-hero-search.hero-search-v2 .viver-hero-search-field::after,
.viver-hero-search.hero-search-v2 .viver-hero-search-field::before {
    content: none !important;
    display: none !important;
}

/* Elimina flecha nativa del select */
.viver-hero-search.hero-search-v2 select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: none !important;
}

.viver-hero-search.hero-search-v2 select::-ms-expand {
    display: none !important;
}

/* Mantiene solo la flecha correcta */
.viver-hero-search.hero-search-v2 .viver-field-arrow {
    display: block !important;
}

/* ==================================================
   NUEVOS FILTROS LISTADO HABITACIONES
   ================================================== */

.listado_habitaciones_general .viver-filtros-ciudad {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    align-items: center !important;
    margin-bottom: 20px !important;
}

.listado_habitaciones_general .viver-filter,
.listado_habitaciones_general .viver-filter-small {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 27px !important;
    border: 1px solid #ded2cb !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #4e4a49 !important;
    font-family: "Space Mono", monospace !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: all .22s ease !important;
}

.listado_habitaciones_general .viver-filter.active,
.listado_habitaciones_general .viver-filter-small.active {
    border-color: #3d3a3a !important;
    background: #3d3a3a !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

.viver-filtros-linea {
    position: relative !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 24px !important;
    margin: 0 0 24px !important;
}

.viver-meses-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    min-width: 0 !important;
}

.viver-meses-label {
    color: #3d3a3a !important;
    font-family: "Space Mono", monospace !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 1.4px !important;
    white-space: nowrap !important;
}

.viver-meses-opciones {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
}

.listado_habitaciones_general .viver-filter-small {
    min-height: 36px !important;
    padding: 0 20px !important;
    font-size: 13px !important;
}

.viver-otros-meses {
    position: relative !important;
}

.viver-otros-meses-btn {
    cursor: pointer !important;
}

.viver-otros-meses-btn span {
    position: relative !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    margin-left: 7px !important;
}

.viver-otros-meses-btn span::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 7px !important;
    height: 7px !important;
    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;
    transform: rotate(45deg) !important;
}

.viver-otros-meses-panel {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    z-index: 40 !important;
    display: none !important;
    grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
    gap: 10px !important;
    min-width: 280px !important;
    padding: 14px !important;
    border: 1px solid #ded2cb !important;
    border-radius: 18px !important;
    background: #faf4f2 !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .12) !important;
}

.viver-otros-meses.is-open .viver-otros-meses-panel {
    display: grid !important;
}

.viver-otros-meses-panel a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    border: 1px solid #ded2cb !important;
    border-radius: 999px !important;
    color: #6d6560 !important;
    font-family: "Space Mono", monospace !important;
    font-size: 13px !important;
    text-decoration: none !important;
}

.viver-otros-meses-panel a.active {
    background: #3d3a3a !important;
    color: #ffffff !important;
}

/* Boton mas filtros */

.viver-more-filters-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 38px !important;
    padding: 0 22px !important;
    border: 1px solid #ded2cb !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #6b6560 !important;
    font-family: "Space Mono", monospace !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all .22s ease !important;
}

.viver-more-filters-btn:hover {
    background: #efe6df !important;
    color: #3d3a3a !important;
}

.viver-more-filters-icon {
    display: inline-flex !important;
    width: 16px !important;
    height: 16px !important;
}

.viver-more-filters-icon svg {
    width: 16px !important;
    height: 16px !important;
}

.viver-more-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 19px !important;
    height: 19px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    background: #8e9b82 !important;
    color: #ffffff !important;
    font-size: 11px !important;
}

/* Modal */

body.viver-modal-open {
    overflow: hidden !important;
}

.viver-more-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
}

.viver-more-modal.is-open {
    display: flex !important;
}

.viver-more-modal-bg {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, .76) !important;
}

.viver-more-modal-box {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 575px !important;
    padding: 34px 34px 28px !important;
    border: 1px solid #ded2cb !important;
    border-radius: 9px !important;
    background: #faf4f2 !important;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .25) !important;
}

.viver-more-modal-close {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    width: 28px !important;
    height: 28px !important;
    border: 0 !important;
    background: transparent !important;
    color: #7d746e !important;
    font-size: 26px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.viver-more-modal-box h3 {
    margin: 0 0 28px !important;
    color: #75806e !important;
    font-family: "Space Mono", monospace !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.viver-more-section {
    margin-bottom: 30px !important;
}

.viver-more-label {
    display: block !important;
    margin-bottom: 14px !important;
    color: #6d6560 !important;
    font-family: "Space Mono", monospace !important;
    font-size: 12px !important;
    letter-spacing: .7px !important;
}

.viver-preferencias {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.viver-check-pill {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 39px !important;
    padding: 0 18px !important;
    border: 1px solid #ded2cb !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #6b6560 !important;
    font-family: "Space Mono", monospace !important;
    font-size: 13px !important;
    cursor: pointer !important;
}

.viver-check-pill input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.viver-check-pill.active,
.viver-check-pill:has(input:checked) {
    background: #3d3a3a !important;
    border-color: #3d3a3a !important;
    color: #ffffff !important;
}

.viver-price-range {
    width: 100% !important;
}

.viver-price-range-input {
    width: 100% !important;
    height: 6px !important;
    margin: 0 0 16px !important;
    accent-color: #3d3a3a !important;
    cursor: pointer !important;
}

.viver-price-values {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 16px !important;
}

.viver-price-values span {
    color: #3d3a3a !important;
    font-family: "Space Mono", monospace !important;
    font-size: 14px !important;
}

.viver-price-values span:first-child,
.viver-price-values span:last-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 36px !important;
    padding: 0 16px !important;
    border: 1px solid #ded2cb !important;
    border-radius: 999px !important;
    background: #faf4f2 !important;
}

.viver-more-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 22px !important;
    padding-top: 26px !important;
    border-top: 1px solid #ded2cb !important;
}

.viver-more-clear {
    color: #6b6560 !important;
    font-family: "Space Mono", monospace !important;
    font-size: 13px !important;
    text-decoration: underline !important;
}

.viver-more-apply {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 0 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #7f8d74 !important;
    color: #ffffff !important;
    font-family: "Space Mono", monospace !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}

.viver-more-apply span {
    color: inherit !important;
}

/* Responsive */

@media (max-width: 900px) {
    .viver-filtros-linea {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .viver-meses-wrap {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .viver-more-filters-btn {
        align-self: flex-start !important;
    }
}

@media (max-width: 640px) {
    .viver-more-modal {
        padding: 16px !important;
        align-items: flex-end !important;
    }

    .viver-more-modal-box {
        max-width: 100% !important;
        padding: 28px 22px 24px !important;
        border-radius: 18px 18px 0 0 !important;
    }

    .viver-price-values {
        gap: 10px !important;
    }

    .viver-more-actions {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .viver-more-apply {
        width: 100% !important;
    }
}

/* ==================================================
   FIX Z-INDEX DESPLEGABLE OTROS MESES
   ================================================== */

.listado_habitaciones_general {
    position: relative !important;
    overflow: visible !important;
}

.listado_habitaciones_general .viver-filtros-linea,
.listado_habitaciones_general .viver-meses-wrap,
.listado_habitaciones_general .viver-meses-opciones,
.listado_habitaciones_general .viver-otros-meses {
    position: relative !important;
    z-index: 9 !important;
    overflow: visible !important;
}

.listado_habitaciones_general .viver-otros-meses-panel {
    z-index: 9 !important;
}

/* Baja el nivel visual de las cards para que no tapen el desplegable */
.listado_habitaciones_general .izq,
.listado_habitaciones_general ul,
.listado_habitaciones_general li.bordes_cortados,
.listado_habitaciones_general .cont_carrusel {
    position: relative !important;
    z-index: 1 !important;
}

/* ==================================================
   FIX DATEPICKER FORM COMPROBAR FECHAS
   Shortcode: [form_comprobar_fechas]
   ================================================== */

.form_disponibilidad,
.form_disponibilidad form,
.form_disponibilidad .datepicker-wrapper {
    overflow: visible !important;
}

/* El calendario siempre por encima */
#ui-datepicker-div {
    z-index: 999999 !important;
}

/* Ajuste general jQuery UI */
#ui-datepicker-div.ui-datepicker {
    box-sizing: border-box !important;
    border: 1px solid #ded2cb !important;
    border-radius: 6px !important;
    background: #FAF4F2 !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .22) !important;
    font-family: "Roboto", sans-serif !important;
}

/* Evita que dos meses se salgan en escritorio */
#ui-datepicker-div.ui-datepicker-multi {
    max-width: calc(100vw - 32px) !important;
}

/* Cabecera */
#ui-datepicker-div .ui-datepicker-header {
    border: 0 !important;
    background: #EDE7E2 !important;
    color: #3D3A3A !important;
    font-family: "Space Mono", monospace !important;
    font-weight: 700 !important;
}

/* Títulos de mes */
#ui-datepicker-div .ui-datepicker-title {
    font-family: "Space Mono", monospace !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

/* Tabla */
#ui-datepicker-div table {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 3px !important;
}

#ui-datepicker-div th {
    color: #5f6b7b !important;
    font-family: "Space Mono", monospace !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

#ui-datepicker-div td {
    padding: 0 !important;
}

#ui-datepicker-div td a,
#ui-datepicker-div td span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border-radius: 9px !important;
    font-size: 14px !important;
    text-align: center !important;
}

/* Día activo */
#ui-datepicker-div .ui-state-active {
    border-color: #8E9B82 !important;
    background: #8E9B82 !important;
    color: #ffffff !important;
}

/* Día actual */
#ui-datepicker-div .ui-state-highlight {
    border-color: #d8d769 !important;
    background: #f1ef75 !important;
    color: #3D3A3A !important;
}

/* Móvil */
@media (max-width: 767px) {

    body:has(#ui-datepicker-div.viver-datepicker-mobile) {
        overflow-x: hidden !important;
    }

    #ui-datepicker-div.viver-datepicker-mobile,
    #ui-datepicker-div.ui-datepicker {
        width: calc(100vw - 28px) !important;
        max-width: 360px !important;
        min-width: 0 !important;
        max-height: calc(100vh - 48px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    #ui-datepicker-div.ui-datepicker-multi {
        width: calc(100vw - 28px) !important;
        max-width: 360px !important;
    }

    #ui-datepicker-div .ui-datepicker-group,
    #ui-datepicker-div .ui-datepicker-group-first,
    #ui-datepicker-div .ui-datepicker-group-last,
    #ui-datepicker-div .ui-datepicker-group-middle {
        float: none !important;
        width: 100% !important;
    }

    /*
     * Si por algún motivo el script original intenta seguir mostrando 2 meses,
     * ocultamos el segundo en móvil para evitar el desborde.
     */
    #ui-datepicker-div.ui-datepicker-multi-2 .ui-datepicker-group-last {
        display: none !important;
    }

    #ui-datepicker-div .ui-datepicker-calendar {
        width: 100% !important;
    }

    #ui-datepicker-div td a,
    #ui-datepicker-div td span {
        min-width: 38px !important;
        height: 36px !important;
        font-size: 14px !important;
    }
}