
:root{
  --bs-font-sans-serif: "IBM Plex Sans", Helvetica, Arial, sans-serif;
  --bs-titles-font-family: "IBM Plex Sans Condensed", Helvetica, Arial, sans-serif;
  --bs-body-font-size: 0.8rem;
  --bs-border-color: #cbcbcb;

}
html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  font-family: var(--bs-font-sans-serif), sans-serif !important;
  margin-bottom: 60px;
  font-weight: 400;
  font-style: normal;
}

/* Aplica IBM Plex Sans Condensed a los títulos */
h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  font-family: var(--bs-titles-font-family), sans-serif !important;
  font-weight: 700;
  font-style: normal;
}


.form-label {
  font-family: var(--bs-titles-font-family), sans-serif !important;
}

.error-message{
  font-size: .875em;
  color: var(--bs-form-invalid-color);
  margin-top: .25rem;
}

/* Efecto de palpitación */
@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}

.pulse-effect {
  animation: pulse 0.5s ease-in-out;
}

.step-content { display: none; }
.step-content.active { display: block; }
.step-indicator { cursor: pointer; }

.icon-bg {
  font-size: 5rem;
  color: rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}

.image-container-property {
  position: relative;
  width: 120px;
  height: 120px;
  display: inline-flex;
  justify-content: start;
  align-items: center;
  overflow: hidden;
}

.image-container-property img {
  width: auto;
  height: 100%;
  transition: opacity 0.3s ease;
}

.image-container-property .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* Filtro oscuro */
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-size: 24px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.image-container-property:hover img {
  opacity: 0.3;
}

.image-container-property:hover .overlay {
  opacity: 1;
}

/* Clase para identificar la propiedad seleccionada */
.image-container-property.selected {
  border: 2px solid #28a745; /* Borde verde cuando está seleccionada */
}

.selectedProperty {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* Filtro oscuro */
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-size: 24px;
  opacity: 1; /* Siempre visible */
}

.form-title-line {
  display: flex;
  align-items: center;
  margin-top: 20px;
}

.form-title-line::after {
  content: "";
  flex-grow: 1;
  height: 1px;
  background-color: #ccc;
  margin-left: 8px;
}