@charset "UTF-8";
/* Botones e inputs base (estilos Milligram adaptados)
   Valores rem: conversión × 0.625 desde legacy */
/* Reset de fieldset (sin bordes) */
fieldset {
  border-width: 0;
  padding: 0;
  margin: 0;
}

/* Reset de checkbox y radio */
input[type=checkbox],
input[type=radio] {
  display: inline;
}

.button,
button,
input[type=button],
input[type=reset],
input[type=submit] {
  background-color: #231F20;
  border: 0.1rem solid #231F20; /* 0.1rem × 0.625 ≈ 1px */
  border-radius: 0.25rem; /* 0.4rem × 0.625 ≈ 4px */
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 0.7rem; /* 1.1rem × 0.625 ≈ 11px */
  font-weight: 700;
  height: 2.4rem; /* 3.8rem × 0.625 ≈ 38px */
  letter-spacing: 0.1rem; /* 0.1rem × 0.625 ≈ 1px */
  line-height: 2.4rem; /* 3.8rem × 0.625 ≈ 38px */
  padding: 0 1.9rem; /* 3rem × 0.625 ≈ 30px */
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.button:focus, .button:hover,
button:focus,
button:hover,
input[type=button]:focus,
input[type=button]:hover,
input[type=reset]:focus,
input[type=reset]:hover,
input[type=submit]:focus,
input[type=submit]:hover {
  background-color: #231F20;
  border-color: #231F20;
  color: #fff;
  outline: 0;
}
.button[disabled],
button[disabled],
input[type=button][disabled],
input[type=reset][disabled],
input[type=submit][disabled] {
  cursor: default;
  opacity: 0.5;
}
.button[disabled]:focus, .button[disabled]:hover,
button[disabled]:focus,
button[disabled]:hover,
input[type=button][disabled]:focus,
input[type=button][disabled]:hover,
input[type=reset][disabled]:focus,
input[type=reset][disabled]:hover,
input[type=submit][disabled]:focus,
input[type=submit][disabled]:hover {
  background-color: #231F20;
  border-color: #231F20;
}

/* Inputs y selects - reset de estilos globales */
input[type=color],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
input[type=week],
input:not([type]),
textarea,
select {
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  border: 0.1rem solid #d1d1d1; /* 0.1rem × 0.625 ≈ 1px */
  border-radius: 0.25rem; /* 0.4rem × 0.625 ≈ 4px */
  box-shadow: none;
  box-sizing: inherit;
  height: 2.4rem; /* 3.8rem × 0.625 ≈ 38px */
  padding: 0.4rem 0.6rem 0.4rem; /* 0.6rem/1rem/0.7rem × 0.625 ≈ 6px/10px/7px */
  width: 100%;
}
input[type=color]:focus,
input[type=date]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=email]:focus,
input[type=month]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=url]:focus,
input[type=week]:focus,
input:not([type]):focus,
textarea:focus,
select:focus {
  border-color: #231F20;
  outline: 0;
}

select {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 8" width="30"><path fill="%23d1d1d1" d="M0,0l6,8l6-8"/></svg>') center right no-repeat;
  padding-right: 1.9rem; /* 3rem × 0.625 ≈ 30px */
}
select:focus {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 8" width="30"><path fill="%23231F20" d="M0,0l6,8l6-8"/></svg>');
}
select[multiple] {
  background: none;
  height: auto;
}

textarea {
  min-height: 4.1rem; /* 6.5rem × 0.625 ≈ 65px */
}

/* Botón con flecha (usado en secciones de historia/info) */
.boton-flecha {
  display: flex;
  align-items: center;
  background: none;
  border: 1px solid #9b9b9b;
  padding: 1.3rem;
  color: #231F20;
  text-transform: none;
  font-size: 0.9rem;
  font-weight: normal;
  cursor: pointer;
  transition: background 200ms ease, border-color 200ms ease;
}
.boton-flecha img {
  width: 0.5rem;
  margin-left: 0.8rem;
}
.boton-flecha:hover, .boton-flecha:focus {
  background: rgba(0, 0, 0, 0.05);
  border-color: #231F20;
}
@media only screen and (min-width: 599px) {
  .boton-flecha {
    font-size: 1.1rem;
  }
}

/* Encabezado compuesto (logo + menús) */
.encabezado {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0;
}

.encabezado-logo {
  min-width: 160px;
}

/* Tamaños del logo: 160px móvil / 230px desktop */
.encabezado-logo .logo-img {
  max-width: 160px;
  height: auto;
  display: block;
}

/* Bloque superior: reservas e idiomas */
.encabezado-menu-horizontal {
  display: none;
  flex-flow: column nowrap;
  gap: 0.5rem;
}

/* Scope de la barra superior al encabezado */
.encabezado .menu-superior {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 1rem;
  font-size: 0.75rem;
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 300;
}

.encabezado .menu-superior i {
  color: #718096;
}

.encabezado .menu-superior .caja-reservas .fa-whatsapp {
  font-size: 1rem;
}

.encabezado .menu-superior .caja-reservas .titulo {
  font-size: 0.75rem;
  color: #2d3748;
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 300;
}

.encabezado .menu-superior .caja-reservas .telefono {
  font-size: inherit;
  font-weight: 300;
}

/* Estilo para resaltar tipografía del número (heredado del sitio viejo) */
.encabezado .menu-superior .caja-reservas .numero {
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 800;
}

/* Ajustes de la barra superior como el front viejo (solo visible en desktop) */
@media (min-width: 768px) {
  .encabezado .menu-superior {
    font-size: 0.75rem;
    padding: 1.2rem 0 1.9rem 0; /* 2rem/3rem × 0.625 ≈ 20px/30px */
  }
  .encabezado .menu-superior .caja-reservas {
    padding-right: 3rem;
  }
  .encabezado .menu-superior .caja-reservas .numero {
    font-size: 0.9rem;
  }
  .encabezado .menu-superior .caja-reservas i {
    margin: 0 1rem;
  }
}
/* Idiomas */
.encabezado .caja-lenguaje {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.encabezado .caja-lenguaje::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 0.5rem;
}

.encabezado .caja-lenguaje .lenguaje-actual {
  margin: 0;
  font-weight: 400;
  font-size: 1rem;
}

.encabezado .caja-lenguaje .icono {
  font-size: 0.8rem;
  color: #718096;
}

.encabezado .caja-lenguaje .lista-lenguaje {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  list-style: none;
  margin: 0;
  padding: 0.35rem 0;
  display: none;
  z-index: 1000;
  min-width: 80px;
}

.encabezado .caja-lenguaje:hover .lista-lenguaje {
  display: block;
}

.encabezado .caja-lenguaje .lista-lenguaje li {
  margin: 0;
}

.encabezado .caja-lenguaje .lista-lenguaje button {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
  color: #2d3748;
  text-align: center;
  text-decoration: none;
  transition: all 0.15s ease;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

.encabezado .caja-lenguaje .lista-lenguaje button:hover {
  background: rgba(8, 153, 205, 0.1);
  font-weight: 600;
  color: #0899CD;
}

/* Alineación y espaciados como el original para lenguaje/moneda */
.encabezado .menu-superior .caja-lenguaje,
.encabezado .menu-superior .caja-moneda {
  position: relative;
  padding-right: 3rem;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.encabezado .menu-superior .caja-lenguaje:last-child,
.encabezado .menu-superior .caja-moneda:last-child {
  padding-right: 0;
}

.encabezado .menu-superior .caja-lenguaje img,
.encabezado .menu-superior .caja-moneda img {
  margin-left: 0.5rem;
  width: 1rem;
}

.encabezado .menu-superior .caja-lenguaje p,
.encabezado .menu-superior .caja-moneda p {
  margin: 0;
}

/* Responsive header (desktop) */
@media (min-width: 768px) {
  /* Legacy margin-bottom: 4rem (base10 = 40px) -> 2.5rem (base16) */
  .encabezado {
    align-items: flex-end;
    margin-bottom: 2.5rem;
  }
  .encabezado-menu-horizontal {
    display: flex;
  }
  .encabezado-logo .logo-img {
    max-width: 230px;
  }
}
/* Menú principal (horizontal) - scopeado al encabezado */
.encabezado .menu-principal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px 14px;
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 700;
}

/* Lato Bold para items del menú (legacy) */
.encabezado .menu-principal .menu-item {
  color: #2d3748;
  font-size: 0.95rem;
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 700;
}

.encabezado .menu-principal .menu-item.grupo {
  color: #718096;
  font-size: 0.875rem;
  margin-inline: 6px;
  letter-spacing: 0.01em;
  font-weight: 600;
}

.encabezado .menu-principal .menu-item.grupo a {
  font-weight: 600;
}

.encabezado .menu-principal a {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 0.4rem;
  color: #2d3748;
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 700;
}

.encabezado .menu-principal a:visited {
  color: #2d3748;
}

.encabezado .menu-principal a:hover {
  background: transparent;
  text-decoration: underline;
  color: #2d3748;
}

@media (min-width: 768px) {
  .encabezado .menu-principal {
    gap: 0;
    line-height: 1.2;
  }
  /* Legacy padding: 0.5rem 3rem (base10 = 5px 30px) -> 0.3rem 1.9rem (base16) */
  .encabezado .menu-principal .menu-item {
    padding: 0.3rem 1.9rem;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.2;
  }
  .encabezado .menu-principal .menu-item:last-child {
    padding-right: 0;
  }
  /* Evitar padding interno extra del <a> en desktop: el spacing lo da .menu-item */
  .encabezado .menu-principal .menu-item a {
    color: #231F20;
    padding: 0;
    line-height: 1.2;
    display: inline;
    font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    font-weight: 700;
  }
}
/* Menú burguer (mobile) - Legacy base10 convertido a base16 
   Legacy 3.2rem (32px) -> 2rem (16px base) = 32px
   Legacy 3rem (30px) -> 1.875rem (16px base) = 30px
   Legacy 1.5rem (15px) -> 0.9375rem (16px base) = 15px
   Legacy 1.7rem (17px) -> 1.0625rem (16px base) = 17px
*/
.encabezado-menu-burguer {
  display: block;
  padding: 2rem 0;
  cursor: pointer;
}

.encabezado .menu-burguer {
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-end;
}

.encabezado .menu-burguer span {
  display: block;
  width: 1.25rem; /* 20px */
  border-bottom: 2px solid #2d3748;
  padding: 0.1875rem 0; /* 3px */
}

.encabezado .menu-burguer span:first-child,
.encabezado .menu-burguer span:last-child {
  width: 1.875rem; /* 30px */
}

/* Contenedor overlay y menú lateral - Legacy estructura */
.encabezado .nav-toggle {
  display: none;
}

.encabezado .backdrop {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 10000;
}

.encabezado .menu-lateral {
  position: fixed;
  left: -100%; /* Oculto a la izquierda */
  top: 0;
  bottom: 0;
  width: 80%;
  background-color: #fff;
  transition: left 0.3s ease;
  z-index: 10001;
  overflow-y: auto;
  padding: 1.875rem; /* 30px legacy 3rem */
}

/* Botón cerrar dentro del menú */
.encabezado .boton-cerrar-menu {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.5rem;
  color: #2d3748;
  z-index: 1;
}

.encabezado .boton-cerrar-menu:hover {
  color: #0899CD;
}

/* Logo en menú lateral */
.encabezado .menu-lateral .caja-logo {
  display: block;
  width: 100%;
  padding-bottom: 1.875rem; /* 30px legacy 3rem */
  margin-bottom: 1.875rem; /* 30px */
  border-bottom: 1px solid #e9e9e9;
}

.encabezado .menu-lateral .caja-logo figure {
  display: block;
  width: 70%;
  margin: 0;
}

.encabezado .menu-lateral .caja-logo img {
  width: 100%;
  height: auto;
}

/* Items del menú lateral */
.encabezado .menu-lateral .menu-item {
  margin-bottom: 0.75rem; /* 12px legacy 1.2rem */
  font-size: 0.9375rem; /* 15px legacy 1.5rem */
}

.encabezado .menu-lateral .menu-item a {
  display: block;
  color: #2d3748;
  text-decoration: none;
  transition: color 0.2s ease;
}

.encabezado .menu-lateral .menu-item a:hover {
  color: #0899CD;
}

.encabezado .menu-lateral .menu-item h2 {
  font-size: 1.0625rem; /* 17px legacy 1.7rem */
  font-weight: 700;
  margin: 0;
  padding-top: 0.75rem; /* 12px legacy 1.2rem */
  color: #2d3748;
}

/* Separador */
.encabezado .menu-lateral .separador-item {
  width: 100%;
  padding-top: 0.625rem; /* 10px legacy 1rem */
  margin-bottom: 0.625rem; /* 10px */
  border-bottom: 1px solid #e9e9e9;
}

/* Interacciones del menú (checkbox) */
.encabezado .nav-toggle:checked ~ .backdrop {
  opacity: 1;
  pointer-events: auto;
}

.encabezado .nav-toggle:checked ~ .menu-lateral {
  left: 0; /* Entra desde la izquierda */
}

/* Desktop: ocultar burger */
@media (min-width: 768px) {
  .encabezado-menu-burguer {
    display: none;
  }
}
/* Componente genérico de Slides (reusable en cualquier sección)
   Estructura esperada:
   <div class="slides-viewport">
     <div class="slides-track">
       <div class="slides-item">...</div>
       ...
     </div>
     <div class="slides-botones"> (prev/next) </div>
     <div class="slides-dots"> (bullets) </div>
   </div>
*/
.slides-viewport {
  position: relative;
  overflow: hidden;
  user-select: none;
  touch-action: pan-y;
  cursor: grab;
}

.slides-viewport.is-dragging {
  cursor: grabbing;
}

.slides-viewport.sin-slides {
  cursor: default;
}

/* Placeholder cuando no hay slides */
.slides-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #e8e8e8 0%, #d4d4d4 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.slides-placeholder::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255, 255, 255, 0.1) 10px, rgba(255, 255, 255, 0.1) 20px);
}
.slides-placeholder .placeholder-text {
  position: relative;
  z-index: 1;
  color: #999;
  font-size: 1.125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.slides-track {
  display: flex;
  width: 100%;
  height: 100%;
  will-change: transform;
}

.slides-item {
  flex: 0 0 100%;
  height: 100%;
}
.slides-item picture {
  display: block;
  width: 100%;
  height: 100%;
}
.slides-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
.slides-item .slide-link {
  display: block;
  width: 100%;
  height: 100%;
}

/* Controles (flechas) */
.slides-botones {
  pointer-events: none; /* evita bloquear hover excepto en botones */
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0.75rem;
  z-index: 2;
}

.slides-botones .btn-prev,
.slides-botones .btn-next {
  pointer-events: auto;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: 0;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 200ms ease;
}

.slides-botones .btn-prev:hover,
.slides-botones .btn-next:hover {
  background: rgba(0, 0, 0, 0.5);
}

/* Indicadores (bullets) */
.slides-dots {
  position: absolute;
  left: 50%;
  bottom: 1.5rem;
  transform: translateX(-50%);
  display: flex;
  gap: 0.5rem;
  align-items: center;
  z-index: 2;
}

.slides-dots .dot {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, 0.6);
  transition: transform 150ms ease, background 150ms ease, width 150ms ease, height 150ms ease;
  padding: 0;
  cursor: pointer;
}

.slides-dots .dot.activo {
  background: #fff;
  width: 0.8rem;
  height: 0.8rem;
}

@media (min-width: 768px) {
  .slides-botones .btn-prev,
  .slides-botones .btn-next {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 1.375rem;
  }
  .slides-dots {
    bottom: 2rem;
    gap: 0.625rem;
  }
}
.seccion-slide-principal {
  background: linear-gradient(0, rgba(230, 230, 230, 0.637) 0%, #fff 75%, #fff 100%);
  margin: 0;
  padding: 0 0 1.6rem 0;
}
.seccion-slide-principal .caja-slide {
  position: relative;
  display: block;
  overflow: hidden;
}
.seccion-slide-principal .caja-slide .caja-foto-slide {
  background-size: cover;
  background-position: center center;
  aspect-ratio: 500/270;
  width: 100%;
}
.seccion-slide-principal .caja-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.seccion-slide-principal .slides-viewport {
  aspect-ratio: 500/270;
  width: 100%;
}
.seccion-slide-principal .slides-viewport .slides-item,
.seccion-slide-principal .slides-viewport .slides-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.seccion-slide-principal .slides-viewport picture {
  display: block;
  width: 100%;
  height: 100%;
}
.seccion-slide-principal .caja-busqueda {
  margin: -1.2rem 1.2rem 1.2rem 1.2rem;
  position: relative;
  padding: 1.9rem;
  background-color: #fff;
  border-radius: 0.3rem;
  box-shadow: 0 5px 40px rgba(0, 0, 0, 0.1);
}
.seccion-slide-principal .frase-principal {
  padding: 0.9rem 2rem 0 2rem;
  font-size: 1.1rem;
  text-align: center;
}
@media (min-width: 768px) {
  .seccion-slide-principal {
    padding: 1.6rem;
  }
  .seccion-slide-principal .caja-slide {
    box-shadow: 0 3px 20px rgba(0, 0, 0, 0.1);
  }
  .seccion-slide-principal .caja-slide .caja-foto-slide {
    border-radius: 0.3rem;
    aspect-ratio: 1500/700;
  }
  .seccion-slide-principal .slides-viewport {
    border-radius: 0.3rem;
    overflow: hidden;
    box-shadow: 0 3px 20px rgba(0, 0, 0, 0.1);
    aspect-ratio: 1500/700;
  }
  .seccion-slide-principal .slides-viewport .slides-item,
  .seccion-slide-principal .slides-viewport .slides-item img {
    border-radius: 0.3rem;
  }
  .seccion-slide-principal .frase-principal {
    padding: 0.9rem 3.5rem 0 3.5rem;
    font-size: 1.2rem;
  }
}

.seccion-propiedades {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.seccion-propiedades .titulo-propiedades h1 {
  text-align: center;
  margin: 0 1.2rem 0.6rem 1.2rem;
}
.seccion-propiedades .titulo-propiedades h4 {
  text-align: center;
  margin: 0 1.2rem 1.2rem 1.2rem;
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: normal;
  color: #9b9b9b;
}
.seccion-propiedades .caja-propiedades {
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  padding: 0 1.5rem;
}
.seccion-propiedades .caja-propiedad {
  width: 100%;
  margin: 0.6rem 0 3.1rem 0;
  border-radius: 0.3rem;
  overflow: hidden;
  box-shadow: 0 5px 40px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-flow: column nowrap;
}
.seccion-propiedades .caja-propiedad .imagen {
  width: 100%;
  background-size: cover;
  background-position: center center;
  height: 20rem;
}
.seccion-propiedades .caja-propiedad .texto {
  background-color: #fff;
  padding: 0.9rem 1.2rem;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
}
.seccion-propiedades .caja-propiedad .texto .logo {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 0.9rem 0;
}
.seccion-propiedades .caja-propiedad .texto .logo img {
  width: 40%;
  height: auto;
  flex-shrink: 0;
  margin-right: 0.6rem;
}
.seccion-propiedades .caja-propiedad .texto .logo h4 {
  font-size: 0.75rem;
  font-weight: 400;
  margin: 0.3rem 0 0 0;
  padding: 0.25rem 0.5rem 0.25rem 0.75rem;
  border-left: 2px solid;
  line-height: 1.2;
  color: #9b9b9b;
  flex: 1;
}
.seccion-propiedades .caja-propiedad .texto p {
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0;
  text-align: right;
  color: #718096;
}
.seccion-propiedades .caja-propiedad .pie {
  background-color: #fff;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  padding: 0.6rem 0;
}
.seccion-propiedades .caja-propiedad .pie .frase {
  width: 48%;
  padding: 0 2%;
}
.seccion-propiedades .caja-propiedad .pie .frase p {
  font-size: 0.95rem;
  text-align: center;
  margin: 0;
  line-height: 1.4rem;
}
.seccion-propiedades .caja-propiedad .pie .logo {
  width: 44%;
  margin: 0.6rem 0;
  padding: 0 2% 0 4%;
  border-left: 1px solid #9b9b9b;
}
.seccion-propiedades .caja-propiedad .pie .logo img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.seccion-propiedades .caja-propiedad--titulo {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  box-shadow: none;
  margin-bottom: 0;
}
.seccion-propiedades .caja-propiedad--titulo .titulo-propiedades-inline {
  text-align: center;
  padding: 1rem;
}
.seccion-propiedades .caja-propiedad--titulo .titulo-propiedades-inline h1 {
  margin: 0 0 0.6rem 0;
}
.seccion-propiedades .caja-propiedad--titulo .titulo-propiedades-inline h4 {
  margin: 0;
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: normal;
  color: #9b9b9b;
}
@media only screen and (min-width: 599px) {
  .seccion-propiedades .caja-propiedades {
    display: flex;
    flex-flow: row wrap;
    justify-content: stretch;
    align-content: stretch;
    padding: 0;
  }
  .seccion-propiedades .caja-propiedad {
    flex: 1 0 calc(25% - 2.5rem);
    max-width: calc(25% - 2.5rem);
    box-sizing: border-box;
    margin: 1.2rem 1.2rem 3.1rem 1.2rem;
  }
  .seccion-propiedades .caja-propiedad .imagen {
    width: 100%;
    height: 13.5rem;
  }
  .seccion-propiedades .caja-propiedad .texto {
    padding: 1.2rem 1.5rem;
  }
  .seccion-propiedades .caja-propiedad .texto .logo img {
    width: 40%;
    margin-right: 0.75rem;
  }
  .seccion-propiedades .caja-propiedad .texto .logo h4 {
    font-size: 0.875rem;
    padding-left: 0.9rem;
  }
  .seccion-propiedades .caja-propiedad .texto p {
    font-size: 1rem;
    line-height: 1.6;
  }
  .seccion-propiedades .caja-propiedad .pie .frase p {
    font-size: 0.8rem;
    line-height: 1.4rem;
  }
  .seccion-propiedades .caja-propiedad .pie .logo img {
    width: 100%;
  }
  .seccion-propiedades .caja-propiedad--titulo {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background-color: transparent;
    box-shadow: none;
    border-right: 1px solid #e9e9e9;
  }
  .seccion-propiedades .caja-propiedad--titulo .titulo-propiedades-inline {
    text-align: right;
    padding: 1.5rem 2rem 1.5rem 1.5rem;
  }
  .seccion-propiedades .caja-propiedad--titulo .titulo-propiedades-inline h1 {
    margin: 0 0 0.6rem 0;
  }
  .seccion-propiedades .caja-propiedad--titulo .titulo-propiedades-inline h4 {
    margin: 0;
    font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    font-weight: normal;
    color: #9b9b9b;
  }
  .seccion-propiedades--con-titulo {
    justify-content: center;
  }
  .seccion-propiedades--con-titulo .caja-propiedad {
    flex: 1 0 calc(25% - 2.5rem);
    max-width: calc(25% - 2.5rem);
  }
}

.seccion-eventos {
  margin: 0;
  background: url("../img/texture.png") repeat #f8f8f8;
  display: flex;
  flex-flow: row wrap;
  padding: 3.5rem 0;
}
.seccion-eventos .caja-texto {
  width: 100%;
  padding: 1.8rem;
  order: 2;
}
.seccion-eventos .caja-texto h1 {
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  margin-bottom: 1.3rem;
}
.seccion-eventos .caja-texto p {
  font-size: 1.1rem;
  line-height: 1.6rem;
  margin-bottom: 0.4rem;
}
.seccion-eventos .caja-texto .texto-ver-mas {
  display: none;
}
.seccion-eventos .caja-texto .boton-ver-mas {
  display: block;
  margin-top: 1.6rem;
}
.seccion-eventos .caja-slide {
  display: block;
  width: 100%;
  overflow: hidden;
  padding: 0;
  order: 1;
  height: 25rem;
}
.seccion-eventos .caja-slide .slides-viewport {
  height: 100%;
}
@media only screen and (min-width: 599px) {
  .seccion-eventos {
    flex-flow: row nowrap;
    align-items: flex-start;
  }
  .seccion-eventos .caja-texto {
    padding: 3.5rem 3.5rem 1.8rem 3.5rem;
    order: 1;
    flex-basis: 50%;
  }
  .seccion-eventos .caja-texto h1 {
    font-size: 1.8rem;
  }
  .seccion-eventos .caja-texto p {
    font-size: 1.3rem;
    margin-bottom: 0.4rem;
  }
  .seccion-eventos .caja-slide {
    box-shadow: 0 5px 40px rgba(0, 0, 0, 0.2);
    border-radius: 0.3rem 0 0 0.3rem;
    order: 2;
    width: 50%;
    flex-basis: 50%;
  }
}

.seccion-historia {
  background: #fff;
  display: flex;
  flex-flow: row wrap;
  padding: 3.5rem 0;
}
.seccion-historia .caja-foto {
  border-radius: 0.3rem;
  overflow: hidden;
  padding: 0;
  background-size: cover;
  background-position: center center;
  min-height: 21.9rem;
  flex-basis: 100%;
}
.seccion-historia .caja-texto {
  padding: 1.8rem;
}
.seccion-historia .caja-texto h1 {
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  margin-bottom: 1.3rem;
}
.seccion-historia .caja-texto p {
  font-size: 1.1rem;
  line-height: 1.6rem;
  margin-bottom: 0.4rem;
}
.seccion-historia .caja-texto .texto-ver-mas {
  display: none;
}
.seccion-historia .caja-texto .boton-ver-mas {
  display: block;
  margin-top: 1.6rem;
}
@media only screen and (min-width: 599px) {
  .seccion-historia {
    flex-flow: row nowrap;
    align-items: flex-start;
  }
  .seccion-historia .caja-texto {
    padding: 3.5rem;
    flex-basis: 40%;
  }
  .seccion-historia .caja-texto h1 {
    font-size: 1.8rem;
  }
  .seccion-historia .caja-texto p {
    font-size: 1.3rem;
  }
  .seccion-historia .caja-foto {
    box-shadow: 0 5px 40px rgba(0, 0, 0, 0.2);
    flex-basis: 60%;
    min-height: 28.1rem;
  }
}

.seccion-breadcrum {
  margin: 0;
  background-color: #f4f4f4;
}
.seccion-breadcrum .contenedor {
  padding: 0.375rem 0.75rem;
  border-bottom: 1px solid #e9e9e9;
}
.seccion-breadcrum ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.seccion-breadcrum ul li {
  color: #231F20;
  font-size: 0.8125rem;
  margin: 0 0.5em 0 0;
  font-style: italic;
}
.seccion-breadcrum ul li a {
  color: #231F20;
  font-style: normal;
  text-decoration: none;
}
.seccion-breadcrum ul li a:hover {
  color: #0899CD;
  text-decoration: none;
}
.seccion-breadcrum ul .flecha {
  font-style: normal;
  color: #9b9b9b;
}
@media (min-width: 768px) {
  .seccion-breadcrum {
    display: none;
  }
}

.seccion-habitaciones {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.seccion-habitaciones .titulo-habitaciones h1, .seccion-habitaciones .titulo-habitaciones h4 {
  text-align: center;
  margin: 0 1.3rem 1.3rem 1.3rem;
}
.seccion-habitaciones .titulo-habitaciones h4 {
  font-weight: 300;
  color: #9b9b9b;
}
.seccion-habitaciones .caja-habitaciones {
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  padding: 0 1.5rem;
}
.seccion-habitaciones .caja-habitaciones .caja-habitacion {
  width: 100%;
  margin: 0.6rem 0 3.1rem 0;
  border-radius: 0.3rem;
  overflow: hidden;
  box-shadow: 0 5px 40px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.seccion-habitaciones .caja-habitaciones .caja-habitacion:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 50px rgba(0, 0, 0, 0.15);
  text-decoration: none;
}
.seccion-habitaciones .caja-habitaciones .caja-habitacion .imagen {
  width: 100%;
  background-size: cover;
  background-position: center center;
  height: 20rem;
  flex-shrink: 0;
}
.seccion-habitaciones .caja-habitaciones .caja-habitacion .texto {
  padding: 0.9rem 1.4rem 0.9rem 1.4rem;
  width: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.seccion-habitaciones .caja-habitaciones .caja-habitacion .texto h4 {
  font-size: 1rem;
  padding-right: 0.5rem;
  margin: 0.9rem 0 0.9rem 0;
  text-align: right;
  letter-spacing: 0rem;
  border-right: 3px solid;
  color: #9b9b9b;
}
.seccion-habitaciones .caja-habitaciones .caja-habitacion .texto p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.5rem;
  text-align: right;
}
.seccion-habitaciones .caja-habitaciones .caja-habitacion .texto .boton-reservar {
  width: 100%;
  text-align: left;
  margin-top: auto;
  margin-bottom: -0.9rem;
  margin-left: -1.4rem;
  margin-right: -1.4rem;
  padding: 0.9rem 1.4rem 0.9rem 1.4rem;
  background-color: transparent;
}
.seccion-habitaciones .caja-habitaciones .caja-habitacion .texto .boton-reservar button {
  margin: 0;
  border: none;
  padding: 0.5rem 1.25rem;
  border-radius: 0.3rem;
  color: #fff;
  font-weight: 600;
  font-size: 0.75rem;
  line-height: 1;
  cursor: pointer;
  transition: opacity 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.seccion-habitaciones .caja-habitaciones .caja-habitacion .texto .boton-reservar button:hover {
  opacity: 0.9;
}
@media only screen and (min-width: 768px) {
  .seccion-habitaciones .caja-habitaciones {
    display: flex;
    flex-flow: row wrap;
    justify-content: stretch;
    align-content: stretch;
    padding: 0;
  }
  .seccion-habitaciones .caja-habitaciones .caja-habitacion {
    flex: 1 0 calc(25% - 2.6rem);
    max-width: calc(25% - 2.6rem);
    box-sizing: border-box;
    margin: 1.3rem 1.3rem 3.1rem 1.3rem;
    flex-flow: column nowrap;
    align-items: stretch;
  }
  .seccion-habitaciones .caja-habitaciones .caja-habitacion .imagen {
    width: 100%;
    height: 12.5rem;
    flex-shrink: 0;
  }
  .seccion-habitaciones .caja-habitaciones .caja-habitacion .texto {
    padding: 0.9rem 1.4rem 0.9rem 1.4rem;
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .seccion-habitaciones .caja-habitaciones .caja-habitacion .texto h4 {
    font-size: 1.1rem;
    margin: 0.9rem 0;
  }
  .seccion-habitaciones .caja-habitaciones .caja-habitacion .texto p {
    font-size: 1rem;
    line-height: 1.6rem;
  }
  .seccion-habitaciones .caja-habitaciones .caja-habitacion .texto .boton-reservar {
    margin-top: auto;
    margin-bottom: -0.9rem;
    margin-left: -1.4rem;
    margin-right: -1.4rem;
    padding: 0.9rem 1.4rem 0.9rem 1.4rem;
  }
}

.seccion-texto-slide {
  margin: 0;
  background: url("../img/texture.png") repeat #f8f8f8;
  display: flex;
  flex-flow: row wrap;
  padding: 3.5rem 0;
}
.seccion-texto-slide .caja-texto {
  width: 100%;
  padding: 1.8rem;
  order: 2;
}
.seccion-texto-slide .caja-texto h1 {
  font-size: 1.6rem;
}
.seccion-texto-slide .caja-texto p {
  font-size: 1.1rem;
}
.seccion-texto-slide .caja-texto .texto-ver-mas {
  display: none;
}
.seccion-texto-slide .caja-texto .boton-ver-mas {
  display: block;
  margin-top: 1.6rem;
}
.seccion-texto-slide .caja-slide {
  display: block;
  width: 100%;
  overflow: hidden;
  padding: 0;
  order: 1;
  height: 25rem;
}
.seccion-texto-slide .caja-slide .slides {
  height: 100%;
}
.seccion-texto-slide .caja-slide .slide {
  height: 100%;
}
.seccion-texto-slide .caja-slide .caja-foto-slide {
  height: 100%;
  background-size: cover;
  background-position: center center;
}
@media only screen and (min-width: 768px) {
  .seccion-texto-slide {
    flex-flow: row nowrap;
    align-items: flex-start;
  }
  .seccion-texto-slide .caja-texto {
    padding: 3.5rem 3.5rem 1.8rem 3.5rem;
    order: 1;
    flex-basis: 50%;
  }
  .seccion-texto-slide .caja-texto h1 {
    font-size: 1.8rem;
  }
  .seccion-texto-slide .caja-texto p {
    font-size: 1.3rem;
    margin-bottom: 0.4rem;
  }
  .seccion-texto-slide .caja-slide {
    box-shadow: 0 5px 40px rgba(0, 0, 0, 0.2);
    border-radius: 0.3rem 0 0 0.3rem;
    order: 2;
    width: 50%;
    flex-basis: 50%;
    height: 28.1rem;
  }
}

.seccion-texto-foto,
.seccion-texto-foto-gris {
  background: #fff;
  display: flex;
  flex-flow: row wrap;
  padding: 3.5rem 0;
}
.seccion-texto-foto .caja-foto,
.seccion-texto-foto-gris .caja-foto {
  border-radius: 0.3rem;
  overflow: hidden;
  padding: 0;
  background-size: cover;
  background-position: center center;
  min-height: 21.9rem;
  flex-basis: 100%;
}
.seccion-texto-foto .caja-texto,
.seccion-texto-foto-gris .caja-texto {
  padding: 1.8rem;
}
.seccion-texto-foto .caja-texto h1,
.seccion-texto-foto-gris .caja-texto h1 {
  font-size: 1.6rem;
}
.seccion-texto-foto .caja-texto p,
.seccion-texto-foto-gris .caja-texto p {
  font-size: 1.1rem;
}
.seccion-texto-foto .caja-texto .texto-ver-mas,
.seccion-texto-foto-gris .caja-texto .texto-ver-mas {
  display: none;
}
.seccion-texto-foto .caja-texto .boton-ver-mas,
.seccion-texto-foto-gris .caja-texto .boton-ver-mas {
  display: block;
  margin-top: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .seccion-texto-foto,
  .seccion-texto-foto-gris {
    flex-flow: row nowrap;
    align-items: flex-start;
  }
  .seccion-texto-foto .caja-texto,
  .seccion-texto-foto-gris .caja-texto {
    padding: 3.5rem;
    flex-basis: 40%;
  }
  .seccion-texto-foto .caja-texto h1,
  .seccion-texto-foto-gris .caja-texto h1 {
    font-size: 1.8rem;
  }
  .seccion-texto-foto .caja-texto p,
  .seccion-texto-foto-gris .caja-texto p {
    font-size: 1.3rem;
  }
  .seccion-texto-foto .caja-foto,
  .seccion-texto-foto-gris .caja-foto {
    box-shadow: 0 5px 40px rgba(0, 0, 0, 0.2);
    flex-basis: 60%;
    min-height: 28.1rem;
  }
}

.seccion-texto-foto-gris {
  background: url("../img/texture.png") repeat #f8f8f8;
  padding: 3.5rem 0;
}

.seccion-gestion-sustentable {
  margin: 0;
  background: url("../img/texture.png") repeat #f8f8f8;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  padding: 1.8rem;
}
.seccion-gestion-sustentable .caja-imagen {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.3rem;
}
.seccion-gestion-sustentable .caja-imagen figure {
  margin: 0;
  max-width: 144px;
}
.seccion-gestion-sustentable .caja-imagen figure img {
  width: 100%;
  height: auto;
}
.seccion-gestion-sustentable .caja-texto {
  width: 100%;
  padding: 1.8rem;
  order: 2;
  text-align: center;
}
.seccion-gestion-sustentable .caja-texto h1 {
  font-size: 1.6rem;
}
.seccion-gestion-sustentable .caja-texto p {
  font-size: 1.1rem;
}
@media only screen and (min-width: 768px) {
  .seccion-gestion-sustentable {
    flex-flow: row nowrap;
    padding: 3.5rem;
  }
  .seccion-gestion-sustentable .caja-imagen {
    margin-bottom: 0;
    margin-right: 2.5rem;
  }
  .seccion-gestion-sustentable .caja-imagen figure {
    max-width: 180px;
  }
  .seccion-gestion-sustentable .caja-texto {
    padding: 0;
    text-align: left;
  }
  .seccion-gestion-sustentable .caja-texto h1 {
    font-size: 1.8rem;
  }
  .seccion-gestion-sustentable .caja-texto p {
    font-size: 1.3rem;
  }
}

.seccion-ubicacion {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  padding: 3.5rem 0;
}
.seccion-ubicacion .titulo-ubicacion h1, .seccion-ubicacion .titulo-ubicacion h4 {
  text-align: center;
  margin: 0 1.3rem 1.3rem 1.3rem;
}
.seccion-ubicacion .caja-ubicacion {
  width: 90%;
  height: 70vh;
}
.seccion-ubicacion .caja-ubicacion iframe {
  width: 100%;
  height: 70vh;
}

.bc-bus {
  border-color: #d59d00 !important;
}

.bc-pio {
  border-color: #5aa423 !important;
}

.bc-cab {
  border-color: #FF6418 !important;
}

.bc-apa {
  border-color: #27a35d !important;
}

.bc-obe {
  border-color: #3f5d63 !important;
}

.bgc-bus {
  background-color: #d59d00 !important;
}

.bgc-pio {
  background-color: #5aa423 !important;
}

.bgc-cab {
  background-color: #FF6418 !important;
}

.bgc-apa {
  background-color: #27a35d !important;
}

.bgc-obe {
  background-color: #3f5d63 !important;
}

.iconos-flotantes {
  position: fixed;
  z-index: 99999;
  bottom: 1.3rem;
  right: 1.3rem;
  display: flex;
  flex-flow: column nowrap;
  gap: 0.6rem;
}
.iconos-flotantes .btn-icono {
  padding: 0.4rem;
  border-radius: 0.6rem;
  display: block;
  color: #ffffff;
  overflow: hidden;
  text-align: center;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
}
.iconos-flotantes .btn-icono:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.iconos-flotantes .btn-icono i {
  font-size: 2rem;
}
.iconos-flotantes .whatsapp {
  background-color: #66bc29;
}
.iconos-flotantes .telefono {
  background-color: #231F20;
}
@media only screen and (min-width: 599px) {
  .iconos-flotantes {
    display: none;
  }
}

.seccion-newsletter {
  background: #e9e9e9;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  margin: 0;
  padding: 1.9rem;
}
.seccion-newsletter .caja-texto {
  width: 100%;
}
.seccion-newsletter .caja-texto h2 {
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  margin: 0;
}
.seccion-newsletter .caja-texto h3 {
  display: none;
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 1.3rem;
  font-weight: normal;
  margin: 0;
}
.seccion-newsletter .caja-form {
  width: 100%;
}
.seccion-newsletter .caja-form .form-newsletter {
  margin: 0;
  display: flex;
  flex-flow: row wrap;
}
.seccion-newsletter .caja-form .form-newsletter .franja-campos {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  margin-bottom: 0;
  gap: 0.8rem;
}
.seccion-newsletter .caja-form .form-newsletter .franja-campos .campo {
  flex: 1 1 100%;
  min-width: 0;
}
.seccion-newsletter .caja-form .form-newsletter .franja-campos input,
.seccion-newsletter .caja-form .form-newsletter .franja-campos select {
  background-color: #f4f4f4;
  margin-bottom: 0.5rem;
}
.seccion-newsletter .caja-form .form-newsletter .franja-campos button {
  width: 100%;
}
.seccion-newsletter .caja-form .form-newsletter .mensaje-exito,
.seccion-newsletter .caja-form .form-newsletter .mensaje-error {
  margin-top: 1rem;
  padding: 0.8rem;
  border-radius: 0.3rem;
  font-size: 0.9rem;
  text-align: center;
}
.seccion-newsletter .caja-form .form-newsletter .mensaje-exito {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}
.seccion-newsletter .caja-form .form-newsletter .mensaje-error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
@media only screen and (min-width: 599px) {
  .seccion-newsletter {
    flex-flow: row nowrap;
    gap: 2rem;
  }
  .seccion-newsletter .caja-texto {
    flex-basis: 40%;
    width: auto;
  }
  .seccion-newsletter .caja-texto h3 {
    display: block;
  }
  .seccion-newsletter .caja-form {
    flex-basis: 60%;
    width: auto;
  }
  .seccion-newsletter .caja-form .form-newsletter .franja-campos {
    flex-flow: row nowrap;
  }
  .seccion-newsletter .caja-form .form-newsletter .franja-campos .campo {
    flex: 1 1 auto;
  }
  .seccion-newsletter .caja-form .form-newsletter .franja-campos .campo[style*="flex-grow: 2"] {
    flex-grow: 2;
  }
  .seccion-newsletter .caja-form .form-newsletter .franja-campos .campo[style*="flex-shrink: 2"] {
    flex-shrink: 2;
  }
  .seccion-newsletter .caja-form .form-newsletter .franja-campos button {
    width: auto;
  }
}

.seccion-politica {
  background: #ffffff;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  margin: 0;
  padding: 1.9rem;
}
.seccion-politica .caja-texto h2 {
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  margin: 0 0 0.5rem 0;
}
.seccion-politica .caja-texto h3 {
  margin-bottom: 0.5rem;
}
.seccion-politica .caja-texto p {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}
.seccion-politica .caja-texto #elegi-argentina {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 0.8rem;
  margin-top: 1rem;
}
.seccion-politica .caja-texto #elegi-argentina a {
  display: inline-flex;
  align-items: center;
}
.seccion-politica .caja-texto #elegi-argentina img {
  height: 2.5rem;
  width: auto;
}
.seccion-politica .caja-texto #elegi-argentina span {
  flex: 1;
}
@media only screen and (min-width: 599px) {
  .seccion-politica {
    flex-flow: row nowrap;
  }
  .seccion-politica .caja-texto p {
    font-size: 1.1rem;
  }
}

.section-pie {
  background: url("../img/texture.png") repeat #f8f8f8;
  margin: 0;
  text-align: center;
  display: block;
  padding: 3.8rem 0 1.9rem 0;
}
.section-pie .contacto-reserva h3 {
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 1.1rem;
  margin: 0 0 0.5rem 0;
}
.section-pie .contacto-reserva > div {
  padding: 0 2.9rem;
  margin-bottom: 1.8rem;
  text-align: center;
}
.section-pie .contacto-reserva > div p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
}
.section-pie .caja-extras {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  margin: 0 auto 2.5rem auto;
}
.section-pie .caja-extras > div {
  margin-top: 0.6rem;
}
.section-pie .caja-extras > div a {
  text-decoration: underline;
  color: #231F20;
  font-size: 0.9rem;
  line-height: 1.4;
}
.section-pie .caja-extras > div button {
  background-color: #231F20;
  color: #ffffff;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 0.3rem;
  cursor: pointer;
  font-size: 0.7rem;
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 700;
  transition: background-color 0.2s;
  line-height: 1.3;
}
.section-pie .caja-extras > div button:hover {
  background-color: #3e3739;
}
.section-pie .caja-extras > div a button {
  text-decoration: none;
}
.section-pie .caja-pie .logo img {
  display: none;
}
.section-pie .caja-pie .caja-texto p {
  padding: 0;
  margin: 0;
  font-size: 0.8rem;
}
.section-pie .caja-pie .caja-texto p:last-child {
  padding: 0.3rem 0 0;
}
.section-pie .caja-pie .caja-redes {
  text-align: center;
  padding: 2rem 0 0.6rem;
}
.section-pie .caja-pie .caja-redes .icono-redes {
  display: inline-block;
  padding: 0 1.5rem;
  color: #231F20;
  transition: color 0.2s;
}
.section-pie .caja-pie .caja-redes .icono-redes:hover {
  color: #0899CD;
}
.section-pie .caja-pie .caja-redes .icono-redes i {
  font-size: 1.1rem;
}
@media only screen and (min-width: 599px) {
  .section-pie .contacto-reserva {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: stretch;
  }
  .section-pie .contacto-reserva h3 {
    margin: 0 0.8rem 0 1.6rem;
    padding-right: 0.8rem;
    border-right: 1px solid #9b9b9b;
    text-align: right;
  }
  .section-pie .contacto-reserva > div {
    padding-left: 0;
    margin-bottom: 0;
    text-align: left;
  }
  .section-pie .contacto-reserva > div p {
    margin: 0;
  }
  .section-pie .caja-extras {
    padding: 1.3rem 0 0.6rem 0;
    background-color: #e9e9e9;
    flex-flow: row nowrap;
    justify-content: space-evenly;
    align-items: baseline;
    margin: 3.8rem auto 0 auto;
  }
  .section-pie .caja-extras > div {
    margin-top: 0;
  }
  .section-pie .caja-pie {
    display: flex;
    padding: 3.8rem 0;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: center;
  }
  .section-pie .caja-pie .logo img {
    display: block;
    max-width: 11rem;
    height: auto;
  }
}

/* ==========================================================================
   FORMULARIO DE BÚSQUEDA DE DISPONIBILIDAD
   Estilos específicos y aislados para #form-busqueda-dispo
   NO afecta ni es afectado por estilos genéricos de formularios
   ========================================================================== */
#form-busqueda-dispo {
  margin: 0;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-end;
  gap: 0.8rem 0.5rem;
}
#form-busqueda-dispo .campo {
  width: 100%;
}
#form-busqueda-dispo .campo label {
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.7rem;
  margin-bottom: 0.75rem;
}
#form-busqueda-dispo .campo label span {
  font-size: 0.6rem;
  font-weight: 400;
  color: #666;
  text-transform: none;
}
#form-busqueda-dispo .campo input,
#form-busqueda-dispo .campo select {
  width: 100%;
  font-weight: 300;
  font-size: 0.9rem;
  border-radius: 0;
  border-color: #e9e9e9;
  margin-bottom: 0;
}
#form-busqueda-dispo .campo input:focus,
#form-busqueda-dispo .campo select:focus {
  border-color: #e9e9e9;
  background-color: #f4f4f4;
}
#form-busqueda-dispo .campo button {
  color: #fff;
  background-color: #231F20;
  border-radius: 0.3rem;
  width: 100%;
  margin-bottom: 0;
}
#form-busqueda-dispo .campo button i {
  margin-right: 0.5rem;
}
#form-busqueda-dispo .campo:has(select[name=pais]), #form-busqueda-dispo .campo:has(select[name=ciudad]) {
  flex: 1 1 100%;
}
#form-busqueda-dispo .campo:has(input[name=fecha_desde]), #form-busqueda-dispo .campo:has(input[name=fecha_hasta]) {
  flex: 1 1 calc(50% - 0.25rem);
  min-width: 0;
}
#form-busqueda-dispo .campo:has(select[name=cant_adultos]), #form-busqueda-dispo .campo:has(select[name=cant_menores]), #form-busqueda-dispo .campo:has(select[name=cant_bebes]) {
  flex: 1 1 calc(33.333% - 0.35rem);
  min-width: 0;
}
#form-busqueda-dispo .campo:has(button) {
  flex: 1 1 100%;
}

/* PORTADA/CIUDADES/PROPIEDADES: Una línea horizontal en desktop */
@media only screen and (min-width: 599px) {
  .caja-busqueda #form-busqueda-dispo,
  .seccion-slide-principal #form-busqueda-dispo {
    flex-flow: row nowrap;
    gap: 0.6rem;
  }
  .caja-busqueda #form-busqueda-dispo .campo,
  .seccion-slide-principal #form-busqueda-dispo .campo {
    flex: 1 1 0;
    min-width: 0;
  }
  .caja-busqueda #form-busqueda-dispo .campo:has(select[name=pais]), .caja-busqueda #form-busqueda-dispo .campo:has(select[name=ciudad]),
  .seccion-slide-principal #form-busqueda-dispo .campo:has(select[name=pais]),
  .seccion-slide-principal #form-busqueda-dispo .campo:has(select[name=ciudad]) {
    flex: 1 1 0;
  }
  .caja-busqueda #form-busqueda-dispo .campo:has(input[name=fecha_desde]), .caja-busqueda #form-busqueda-dispo .campo:has(input[name=fecha_hasta]),
  .seccion-slide-principal #form-busqueda-dispo .campo:has(input[name=fecha_desde]),
  .seccion-slide-principal #form-busqueda-dispo .campo:has(input[name=fecha_hasta]) {
    flex: 1 1 0;
  }
  .caja-busqueda #form-busqueda-dispo .campo:has(select[name=cant_adultos]), .caja-busqueda #form-busqueda-dispo .campo:has(select[name=cant_menores]), .caja-busqueda #form-busqueda-dispo .campo:has(select[name=cant_bebes]),
  .seccion-slide-principal #form-busqueda-dispo .campo:has(select[name=cant_adultos]),
  .seccion-slide-principal #form-busqueda-dispo .campo:has(select[name=cant_menores]),
  .seccion-slide-principal #form-busqueda-dispo .campo:has(select[name=cant_bebes]) {
    flex: 0.5 1 0;
  }
  .caja-busqueda #form-busqueda-dispo .campo:has(button),
  .seccion-slide-principal #form-busqueda-dispo .campo:has(button) {
    flex: 1 1 0;
  }
}

.seccion-parametros {
  background: linear-gradient(135deg, #0899CD 0%, #067ca6 100%);
  background-size: cover;
  background-position: center;
  color: #ffffff;
  padding: 3rem 0 2.5rem;
  margin-top: 2rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  position: relative;
}
.seccion-parametros::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 0;
}
.seccion-parametros .wrapper--margen {
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .seccion-parametros {
    padding: 2rem 0 1.5rem;
  }
}

.parametros-busqueda h1 {
  font-size: 1.25rem;
  margin-bottom: 1rem;
  color: #ffffff;
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
@media (max-width: 768px) {
  .parametros-busqueda h1 {
    font-size: 1.125rem;
  }
}
.parametros-busqueda .caja-busqueda {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border-radius: 0.4rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.parametros-busqueda .parametros-info {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  margin-top: 1.5rem;
}
@media (max-width: 768px) {
  .parametros-busqueda .parametros-info {
    flex-direction: column;
    gap: 0.75rem;
  }
}
.parametros-busqueda .parametros-info .parametro {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1rem;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.25);
  padding: 0.75rem 1.25rem;
  border-radius: 0.4rem;
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.parametros-busqueda .parametros-info .parametro i {
  font-size: 1.25rem;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}
@media (max-width: 768px) {
  .parametros-busqueda .parametros-info .parametro {
    width: 100%;
    justify-content: flex-start;
  }
}
.parametros-busqueda .mensaje-error {
  background: rgba(248, 215, 218, 0.95);
  border: 1px solid rgba(245, 198, 203, 0.5);
  color: #721c24;
  padding: 1rem 1.25rem;
  border-radius: 0.4rem;
  margin-top: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.seccion-resultados {
  padding: 3rem 0;
  min-height: 60vh;
  background: #f4f4f4;
}

.resumen-resultados {
  margin-bottom: 2rem;
  padding: 1.25rem 1.5rem;
  background: #ffffff;
  border-left: 4px solid #0899CD;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  border-radius: 0.4rem;
}
.resumen-resultados p {
  margin: 0;
  font-size: 1.1rem;
  color: #2d3748;
}
.resumen-resultados p strong {
  color: #0899CD;
  font-weight: 700;
}

.prop-bus {
  --color-propiedad: #d59d00;
  --color-propiedad-light: #ffedbc;
}

.prop-pio {
  --color-propiedad: #5aa423;
  --color-propiedad-light: #d2f1bc;
}

.prop-cab {
  --color-propiedad: #FF6418;
  --color-propiedad-light: #fffefe;
}

.prop-apa {
  --color-propiedad: #27a35d;
  --color-propiedad-light: #c0f0d5;
}

.prop-obe {
  --color-propiedad: #3f5d63;
  --color-propiedad-light: #b7cdd1;
}

.listado-propiedades {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.propiedad-card {
  background: #ffffff;
  border-radius: 0.4rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition: all 0.3s ease;
}
.propiedad-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.propiedad-compacta {
  display: grid;
  grid-template-columns: 200px 1fr auto;
  gap: 1.5rem;
  padding: 1.5rem;
  cursor: pointer;
  transition: background 0.2s ease;
  border-left: 4px solid var(--color-propiedad, #0899CD);
}
.propiedad-compacta:hover {
  background: #fcfcfc;
}
@media (max-width: 768px) {
  .propiedad-compacta {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.25rem;
  }
}
.propiedad-compacta .propiedad-imagen {
  width: 200px;
  height: 140px;
  border-radius: 0.4rem;
  background: #f4f4f4 var(--color-propiedad, #0899CD);
  background-size: cover;
  background-position: center;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
@media (max-width: 768px) {
  .propiedad-compacta .propiedad-imagen {
    width: 100%;
    height: 180px;
  }
}
.propiedad-compacta .propiedad-info {
  flex: 1;
}
.propiedad-compacta .propiedad-info h2 {
  margin: 0 0 0.75rem 0;
  font-size: 1.5rem;
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 800;
  color: #2d3748;
}
@media (max-width: 768px) {
  .propiedad-compacta .propiedad-info h2 {
    font-size: 1.25rem;
  }
}
.propiedad-compacta .propiedad-info .propiedad-frase {
  margin: 0 0 0.5rem 0;
  font-size: 0.95rem;
  font-style: italic;
  color: var(--color-propiedad, #0899CD);
  font-weight: 500;
}
.propiedad-compacta .propiedad-info .propiedad-servicios {
  margin: 0 0 0.5rem 0;
  font-size: 0.875rem;
  color: #718096;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.propiedad-compacta .propiedad-info .propiedad-servicios i {
  color: var(--color-propiedad, #0899CD);
  font-size: 0.875rem;
}
.propiedad-compacta .propiedad-info .propiedad-descripcion {
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  color: #718096;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.propiedad-compacta .propiedad-info .propiedad-resumen {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.propiedad-compacta .propiedad-info .propiedad-resumen .precio-desde {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0.5rem;
}
.propiedad-compacta .propiedad-info .propiedad-resumen .precio-desde .label {
  font-size: 0.875rem;
  text-transform: uppercase;
  color: #718096;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.propiedad-compacta .propiedad-info .propiedad-resumen .precio-desde .precio {
  font-size: 1.75rem;
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 800;
  color: var(--color-propiedad, #0899CD);
  line-height: 1;
}
.propiedad-compacta .propiedad-info .propiedad-resumen .info-habitaciones {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  color: #718096;
  font-size: 0.875rem;
  line-height: 1.4;
}
.propiedad-compacta .propiedad-info .propiedad-resumen .info-habitaciones i {
  color: var(--color-propiedad, #0899CD);
  margin-top: 0.125rem;
}
.propiedad-compacta .propiedad-info .propiedad-resumen .info-habitaciones strong {
  font-weight: 700;
}
.propiedad-compacta .propiedad-info .propiedad-resumen .sin-disponibilidad-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: #f6cdd1;
  color: #dc3545;
  border-radius: 0.3rem;
  font-size: 0.875rem;
  font-weight: 600;
}
.propiedad-compacta .propiedad-accion {
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  .propiedad-compacta .propiedad-accion {
    justify-content: flex-start;
  }
}

.btn-toggle, .btn-toggle-mini {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background: var(--color-propiedad, #0899CD);
  color: #ffffff;
  border: none;
  border-radius: 0.4rem;
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.btn-toggle:hover, .btn-toggle-mini:hover {
  background: #06749c;
  transform: translateY(-1px);
}
.btn-toggle i, .btn-toggle-mini i {
  font-size: 0.75rem;
}

.ocupaciones-listado {
  background: #f9f9f9;
  padding: 1.5rem;
  border-top: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ocupacion-item {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-left: 3px solid var(--color-propiedad, #0899CD);
  border-radius: 0.4rem;
  overflow: hidden;
  transition: all 0.2s ease;
}
.ocupacion-item.sin-disponibilidad {
  opacity: 0.65;
  background: #f4f4f4;
}

.ocupacion-header-capa2 {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 1rem;
  padding: 1.25rem;
  cursor: pointer;
  align-items: center;
  transition: background 0.2s ease;
}
.ocupacion-header-capa2:hover {
  background: #fcfcfc;
}
@media (max-width: 768px) {
  .ocupacion-header-capa2 {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}
.ocupacion-header-capa2 .ocupacion-info-basica h3 {
  margin: 0 0 0.25rem 0;
  font-size: 1.25rem;
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 800;
  color: #2d3748;
}
@media (max-width: 768px) {
  .ocupacion-header-capa2 .ocupacion-info-basica h3 {
    font-size: 1.125rem;
  }
}
.ocupacion-header-capa2 .ocupacion-info-basica .habitacion-tipo {
  margin: 0 0 0.5rem 0;
  font-size: 0.9rem;
  color: #718096;
}
.ocupacion-header-capa2 .ocupacion-info-basica .capacidad {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.85rem;
  color: #718096;
  background: #f4f4f4;
  padding: 0.25rem 0.625rem;
  border-radius: 0.3rem;
}
.ocupacion-header-capa2 .ocupacion-info-basica .capacidad i {
  color: var(--color-propiedad, #0899CD);
}
.ocupacion-header-capa2 .ocupacion-precio-mini {
  text-align: right;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0.5rem;
}
@media (max-width: 768px) {
  .ocupacion-header-capa2 .ocupacion-precio-mini {
    text-align: left;
  }
}
.ocupacion-header-capa2 .ocupacion-precio-mini .desde {
  font-size: 0.875rem;
  text-transform: uppercase;
  color: #718096;
  font-weight: 600;
}
.ocupacion-header-capa2 .ocupacion-precio-mini .precio {
  font-size: 1.375rem;
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 800;
  color: #2d3748;
  line-height: 1;
}
@media (max-width: 768px) {
  .ocupacion-header-capa2 .ocupacion-accion-header {
    width: 100%;
  }
}

.ocupacion-imagen-capa2 {
  width: 100%;
  height: 300px;
  background: #f4f4f4;
  overflow: hidden;
}
@media (max-width: 768px) {
  .ocupacion-imagen-capa2 {
    height: 220px;
  }
}
.ocupacion-imagen-capa2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ocupacion-imagen-capa2 .placeholder-imagen {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #718096;
  opacity: 0.25;
}
.ocupacion-imagen-capa2 .placeholder-imagen i {
  font-size: 5rem;
}

.btn-toggle-mini {
  font-size: 0.8rem;
  padding: 0.5rem 1rem;
}

.ocupacion-detalles-completos {
  border-top: 1px solid #e2e8f0;
  background: #ffffff;
}
.ocupacion-detalles-completos .detalles-contenido {
  padding: 1.5rem;
}
.ocupacion-detalles-completos .detalles-contenido .habitacion-descripcion {
  color: #718096;
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.ocupacion-detalles-completos .tarifas-disponibles {
  padding: 1.5rem;
  background: #fcfcfc;
  border-top: 1px solid #e2e8f0;
}
.ocupacion-detalles-completos .tarifas-disponibles h4 {
  margin: 0 0 1rem 0;
  font-size: 1.125rem;
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 800;
  color: #2d3748;
}
.ocupacion-detalles-completos .tarifas-disponibles > div:not(:last-child) {
  margin-bottom: 0.75rem;
}

.habitacion-html-content {
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
  font-size: 0.9rem;
  line-height: 1.7;
  color: #718096;
}
.habitacion-html-content h5 {
  font-size: 1rem;
  font-weight: bold;
  margin: 1rem 0 0.5rem 0;
  color: #2d3748;
}
.habitacion-html-content h5:first-child {
  margin-top: 0;
}
.habitacion-html-content p {
  margin: 0 0 0.5rem 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
}
.habitacion-html-content p img {
  max-width: 1.125rem;
  margin: 0 0.4rem 0 0.2rem;
}
.habitacion-html-content p span {
  margin-right: 1.25rem;
  display: inline-flex;
  align-items: center;
}

.tarifa-row {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  padding: 1rem 1.25rem;
  background: #ffffff;
  border-radius: 0.4rem;
  border: 1px solid #e2e8f0;
  transition: all 0.2s ease;
}
.tarifa-row:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
@media (max-width: 768px) {
  .tarifa-row {
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
  }
}

.tarifa-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.tarifa-info .tarifa-nombre {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 1rem;
  font-weight: 700;
  color: #2d3748;
}
.tarifa-info .tarifa-nombre i {
  color: #0899CD;
}
.tarifa-info .tarifa-nombre .descuento-badge {
  background: #28a745;
  color: #ffffff;
  padding: 0.125rem 0.5rem;
  border-radius: 0.3rem;
  font-size: 0.75rem;
}
.tarifa-info .tarifa-descripcion .promo-descripcion {
  margin: 0 0 0.5rem 0;
  font-size: 0.875rem;
  color: #718096;
  line-height: 1.5;
}
.tarifa-info .tarifa-descripcion .condiciones-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.tarifa-info .tarifa-descripcion .condicion {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #718096;
  background: #ffffff;
  padding: 0.25rem 0.625rem;
  border-radius: 0.3rem;
  border: 1px solid #e2e8f0;
}
.tarifa-info .tarifa-descripcion .condicion i {
  font-size: 0.7rem;
  color: #0899CD;
}
.tarifa-info .tarifa-descripcion .condicion.condicion-parcial {
  background: rgba(255, 193, 7, 0.1);
  border-color: rgba(255, 193, 7, 0.3);
  color: #876500;
}
.tarifa-info .tarifa-descripcion .condicion.condicion-parcial i {
  color: #ffc107;
}

.tarifa-precio-accion {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .tarifa-precio-accion {
    align-items: stretch;
  }
}
.tarifa-precio-accion .tarifa-precio {
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 140px;
}
@media (max-width: 768px) {
  .tarifa-precio-accion .tarifa-precio {
    text-align: left;
    min-width: auto;
  }
}
.tarifa-precio-accion .tarifa-precio .precio-total {
  font-size: 1.5rem;
  font-weight: 800;
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  color: #2d3748;
}
.tarifa-precio-accion .tarifa-precio .precio-noche {
  font-size: 0.8rem;
  color: #718096;
}
.tarifa-precio-accion .tarifa-precio .ahorro-texto {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: #28a745;
}
.tarifa-precio-accion .tarifa-precio .ahorro-texto i {
  font-size: 0.7rem;
}

.btn-seleccionar {
  background: #0899CD;
  color: #ffffff;
  border: none;
  padding: 0.625rem 1.5rem;
  border-radius: 0.4rem;
  font-size: 0.875rem;
  font-weight: 700;
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.btn-seleccionar:hover {
  background: #0678a3;
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
@media (max-width: 768px) {
  .btn-seleccionar {
    width: 100%;
    padding: 0.75rem 1.5rem;
  }
}

.sin-tarifas-mensaje {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  background: rgba(255, 193, 7, 0.1);
  border: 1px solid rgba(255, 193, 7, 0.3);
  border-radius: 0.4rem;
  color: #6d5200;
}

.sin-resultados {
  text-align: center;
  padding: 5rem 2rem;
  background: #ffffff;
  border-radius: 0.4rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
.sin-resultados .icono-vacio {
  font-size: 5rem;
  color: #0899CD;
  margin-bottom: 2rem;
  opacity: 0.3;
}
.sin-resultados h3 {
  font-size: 1.75rem;
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 800;
  color: #2d3748;
  margin-bottom: 1rem;
}
.sin-resultados p {
  color: #718096;
  margin-bottom: 0.5rem;
  font-size: 1.0625rem;
}
.sin-resultados .acciones-sin-resultados {
  margin-top: 2.5rem;
}
.sin-resultados .acciones-sin-resultados .boton {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  background: #0899CD;
  color: #ffffff;
  padding: 1rem 2rem;
  border-radius: 0.4rem;
  text-decoration: none;
  font-weight: 700;
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  transition: all 0.3s ease;
}
.sin-resultados .acciones-sin-resultados .boton:hover {
  background: #0678a3;
  transform: translateY(-2px);
}
@media (max-width: 768px) {
  .sin-resultados {
    padding: 3rem 1.5rem;
  }
  .sin-resultados .icono-vacio {
    font-size: 3.5rem;
  }
  .sin-resultados h3 {
    font-size: 1.375rem;
  }
}

.seccion-habitacion {
  padding-top: 1.25rem;
  padding-bottom: 2.5rem;
}
.seccion-habitacion .contenedor {
  margin: 0 auto;
  position: relative;
  width: 100%;
}
.seccion-habitacion h1 {
  font-size: 1.69rem;
  font-family: "Montserrat", sans-serif;
  letter-spacing: -0.125rem;
  margin: 0 1.5rem 0.5rem 1.5rem;
}
.seccion-habitacion .caja-slide-fotos {
  display: block;
  overflow: hidden;
  border-radius: 0.31rem;
  box-shadow: 0 5px 40px rgba(0, 0, 0, 0.2);
  margin: 0 1.5rem 1.5rem 1.5rem;
  min-height: 14rem;
}
.seccion-habitacion .franja-texto {
  padding: 0 1.5rem 2.5rem 1.5rem;
  font-size: 1.25rem;
  display: flex;
  flex-flow: column wrap;
}
.seccion-habitacion .franja-texto .caja-texto {
  width: 100%;
  padding: 0;
}
.seccion-habitacion .franja-texto .caja-texto h5 {
  font-size: 1.13rem;
  font-weight: bold;
  margin: 1.25rem 0 1.25rem 0;
}
.seccion-habitacion .franja-texto .caja-texto p {
  margin: 0;
  font-size: 1rem;
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
  vertical-align: top;
  font-weight: 400;
  line-height: 1.7rem;
}
.seccion-habitacion .franja-texto .caja-texto p img {
  vertical-align: middle;
  display: inline;
  max-width: 1.25rem;
  width: 1.25rem;
  margin: 0 0.625rem 0 0.31rem;
}
.seccion-habitacion .franja-texto .caja-texto p span {
  margin-right: 1.88rem;
}
.seccion-habitacion .franja-texto .caja-texto .asterisco {
  margin-top: 1.25rem;
  font-size: 0.81rem;
  line-height: 1.25rem;
  font-style: italic;
  color: #666;
}
.seccion-habitacion .franja-texto .caja-formulario {
  width: 100%;
  position: relative;
  z-index: 1000;
  padding: 0;
}
.seccion-habitacion .franja-texto .caja-formulario .form-busqueda {
  background-color: #fff;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
  padding: 1.25rem;
  margin-top: 1.5rem;
  border-radius: 0.31rem;
}
.seccion-habitacion .franja-texto .caja-formulario .form-busqueda h2 {
  font-size: 1.13rem;
  font-family: "Montserrat", sans-serif;
}
@media only screen and (min-width: 599px) {
  .seccion-habitacion h1 {
    font-size: 2.5rem;
    margin: 0 1.88rem;
  }
  .seccion-habitacion .caja-slide-fotos {
    min-height: 34.38rem;
    margin: 0 1.88rem 1.25rem 1.88rem;
  }
  .seccion-habitacion .franja-texto {
    flex-flow: row nowrap;
    padding: 0 3.75rem 2.5rem 3.75rem;
  }
  .seccion-habitacion .franja-texto .caja-texto {
    padding-right: 3.13rem;
    padding-left: 0;
    width: 60%;
  }
  .seccion-habitacion .franja-texto .caja-texto h5 {
    font-size: 1.38rem;
    margin: 2.5rem 0 1.25rem 0;
  }
  .seccion-habitacion .franja-texto .caja-texto p {
    font-size: 1.19rem;
    line-height: 2.5rem;
    flex-flow: row wrap;
  }
  .seccion-habitacion .franja-texto .caja-texto p img {
    max-width: 1.38rem;
    width: 1.38rem;
    margin: 0 0.81rem 0 0.5rem;
  }
  .seccion-habitacion .franja-texto .caja-texto .asterisco {
    font-size: 0.94rem;
    line-height: 1.38rem;
  }
  .seccion-habitacion .franja-texto .caja-formulario {
    width: 40%;
    padding: 0;
  }
  .seccion-habitacion .franja-texto .caja-formulario .form-busqueda {
    padding: 1.88rem;
    margin-top: -3.13rem;
  }
  .seccion-habitacion .franja-texto .caja-formulario .form-busqueda h2 {
    font-size: 1.44rem;
    margin-top: 0;
  }
}

.tabla-descripcion-habitacion {
  border: 1px solid #e9e9e9;
  margin-top: 1.25rem;
  width: 100%;
  border-collapse: collapse;
}
.tabla-descripcion-habitacion h3 {
  font-size: 1.06rem;
  margin: 0;
  font-family: "Montserrat", sans-serif;
}
.tabla-descripcion-habitacion h5 {
  font-weight: normal;
  font-size: 0.88rem;
  margin: 0;
  line-height: 1.25rem;
  color: #666;
}
.tabla-descripcion-habitacion p {
  font-size: 0.81rem;
  margin: 0;
  line-height: 1.56rem;
  text-align: center;
  justify-content: space-around;
}
.tabla-descripcion-habitacion tr td {
  padding: 0.31rem 0.44rem;
  vertical-align: top;
  border-right: 1px solid #e9e9e9;
  text-align: center;
}
.tabla-descripcion-habitacion tr td:last-child {
  border-right: none;
}
.tabla-descripcion-habitacion tr:first-child td {
  vertical-align: top;
}
.tabla-descripcion-habitacion .desaparece_celular {
  display: none;
}
@media only screen and (min-width: 599px) {
  .tabla-descripcion-habitacion h3 {
    font-size: 1.13rem;
  }
  .tabla-descripcion-habitacion h5 {
    font-size: 1.06rem;
    line-height: 1.75rem;
  }
  .tabla-descripcion-habitacion p {
    font-size: 1.06rem;
    line-height: 2rem;
  }
  .tabla-descripcion-habitacion .desaparece_celular {
    display: table-cell;
  }
  .tabla-descripcion-habitacion tr td {
    padding: 0.56rem 1.06rem;
    vertical-align: middle;
  }
}

.acciones-habitacion {
  margin-top: 1.88rem;
  padding-top: 1.25rem;
  border-top: 2px solid #e0e0e0;
  display: flex;
  gap: 0.625rem;
  justify-content: center;
  flex-wrap: wrap;
}
.acciones-habitacion .btn, .acciones-habitacion .boton {
  padding: 0.625rem 1.25rem;
  border-radius: 0.31rem;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.66rem;
  display: inline-flex;
  align-items: center;
  gap: 0.31rem;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}
.acciones-habitacion .btn i, .acciones-habitacion .boton i {
  font-size: 0.69rem;
}
.acciones-habitacion .btn.btn-primary, .acciones-habitacion .btn.boton-flecha, .acciones-habitacion .boton.btn-primary, .acciones-habitacion .boton.boton-flecha {
  background: #231F20;
  color: white;
}
.acciones-habitacion .btn.btn-primary:hover, .acciones-habitacion .btn.boton-flecha:hover, .acciones-habitacion .boton.btn-primary:hover, .acciones-habitacion .boton.boton-flecha:hover {
  background: #000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transform: translateY(-2px);
}
.acciones-habitacion .btn.btn-secondary, .acciones-habitacion .boton.btn-secondary {
  background: #9b9b9b;
  color: white;
}
.acciones-habitacion .btn.btn-secondary:hover, .acciones-habitacion .boton.btn-secondary:hover {
  background: #7f8c8d;
}

@media (max-width: 768px) {
  .seccion-habitacion {
    padding: 0.625rem;
  }
  .seccion-habitacion h1 {
    font-size: 1.56rem;
  }
  .acciones-habitacion .btn, .acciones-habitacion .boton {
    width: 100%;
    justify-content: center;
  }
}
/* Sección de contacto y formularios legales
   Usado en: contacto, arrepentimiento_compra, libro_quejas, trabaja_con_nosotros, etc.
   Valores convertidos desde legacy (62.5% = 10px/rem) a nuevo (100% = 16px/rem) */
.seccion-contacto {
  background: #fff;
  display: flex;
  flex-flow: row wrap;
  padding: 1.75rem 0;
}
.seccion-contacto .caja-texto-formulario {
  flex-basis: 100%;
  padding: 1.75rem;
}
.seccion-contacto .caja-texto-formulario h1 {
  font-size: 1.5625rem;
  font-family: "Montserrat", sans-serif;
}
.seccion-contacto .caja-texto-formulario p {
  font-size: 1.125rem;
  line-height: 1.75rem;
  margin-bottom: 1.25rem;
}
.seccion-contacto .caja-texto-formulario p b {
  font-weight: 700;
}
.seccion-contacto .caja-texto-formulario ul {
  font-size: 1.125rem;
  list-style: disc;
  margin-left: 1.25rem;
}
.seccion-contacto .caja-texto-formulario ul li {
  margin-left: 1.25rem;
  margin-bottom: 0.5rem;
}
.seccion-contacto .caja-texto-formulario .caja-formulario {
  margin-top: 1.25rem;
}
.seccion-contacto .caja-texto-formulario .formulario-contacto,
.seccion-contacto .caja-texto-formulario .formulario-franjas {
  flex-flow: row wrap;
  display: flex;
}
.seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos,
.seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos {
  flex-flow: row wrap;
  display: flex;
  width: 100%;
}
.seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos .campo-textarea,
.seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos .campo-textarea {
  width: 100%;
  height: 3.75rem;
  min-height: 3.75rem;
  font-family: inherit;
}
.seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos .campo-checkbox,
.seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos .campo-checkbox {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  align-content: flex-start;
}
.seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos .campo-checkbox input,
.seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos .campo-checkbox input {
  flex-basis: 15%;
}
.seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos .campo,
.seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos .campo {
  text-align: left;
  margin-top: 0.5rem;
  width: 100%;
}
.seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos .campo label,
.seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos .campo label {
  text-align: left;
}
.seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos .campo:last-child input,
.seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos .campo:last-child input {
  border-left: 1px solid #e9e9e9;
}
.seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos .campo:last-child label,
.seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos .campo:last-child label {
  text-align: left;
}
.seccion-contacto .caja-texto-formulario .flash-success {
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  color: #155724;
  padding: 1rem;
  border-radius: 0.25rem;
  margin-bottom: 1.25rem;
  font-size: 1rem;
}
.seccion-contacto .caja-foto {
  flex-basis: 100%;
  border-radius: 0.3125rem;
  overflow: hidden;
  padding: 0;
  background-size: cover;
  background-position: center center;
  height: 21.875rem;
}
@media only screen and (min-width: 599px) {
  .seccion-contacto {
    flex-flow: row nowrap;
    align-items: stretch;
  }
  .seccion-contacto .caja-texto-formulario {
    flex-basis: 60%;
    padding: 1.75rem;
    flex-shrink: 2;
  }
  .seccion-contacto .caja-texto-formulario h1 {
    font-size: 1.8125rem;
  }
  .seccion-contacto .caja-texto-formulario p {
    font-size: 1.25rem;
    line-height: 2.19rem;
  }
  .seccion-contacto .caja-texto-formulario ul {
    font-size: 1.38rem;
  }
  .seccion-contacto .caja-texto-formulario ul li {
    margin-bottom: 0.75rem;
  }
  .seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos,
  .seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos {
    flex-flow: row nowrap;
    align-items: flex-end;
  }
  .seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos .campo,
  .seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos .campo {
    flex: 1;
    margin-right: 0.625rem;
  }
  .seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos .campo:last-child,
  .seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos .campo:last-child {
    margin-right: 0;
  }
  .seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos .campo-textarea,
  .seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos .campo-textarea {
    width: 100%;
    height: 3.75rem;
  }
  .seccion-contacto .caja-texto-formulario .formulario-contacto .franja-campos .campo-checkbox input,
  .seccion-contacto .caja-texto-formulario .formulario-franjas .franja-campos .campo-checkbox input {
    flex-basis: 10%;
  }
  .seccion-contacto .caja-foto {
    flex-basis: 40%;
    flex-shrink: 2;
    box-shadow: 0 5px 40px rgba(0, 0, 0, 0.2);
    height: 25rem;
    margin-top: 3.125rem;
  }
}

/* Reset mínimo complementario (normalize ya incluido vía CSS) */
* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 300; /* Legacy usa 300 como base */
  color: #231F20; /* Legacy usa #231F20 no gris */
  background-color: #ffffff;
  line-height: 1.6; /* Legacy line-height */
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Links sin subrayado en hover (como legacy) */
a {
  color: #231F20;
  text-decoration: none;
}

a:hover {
  color: #231F20;
  text-decoration: none;
}

/* Tipografías de títulos: Montserrat ExtraBold */
h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 800;
}

/* Utilidades de layout (sin ancho fijo, como el sitio original) */
.contenedor {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

/* Cabecera: fondo a ancho completo; sin márgenes (los maneja el wrapper) */
.site-header {
  background: #ffffff;
  margin: 0;
  position: relative;
}

/* Logo dentro del header del sitio */
.site-header .logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.site-header .logo-img {
  height: auto;
  display: block;
}

/* Contenido principal: sin márgenes laterales; las secciones controlan su margen */
#contenido-principal {
  padding: 0;
  margin: 0;
}

/* Accesibilidad */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Wrappers de layout */
.wrapper {
  margin: 0;
  position: relative;
}

/* Wrapper con márgenes laterales (equivalente a .seccion del original) */
.wrapper--margen {
  margin: 0 1.3rem;
  position: relative;
} /* 2rem × 0.625 = 1.25rem ≈ 1.3rem */

/*# sourceMappingURL=base.css.map */
