.container {
  overflow: hidden;
}
h2 {
  font-size: 21px;
  margin-bottom: 0px;
  color: #478a87;
}
h3 {
  font-size: 18px;
}

.terreno {
  fill: #1fb611;
  stroke: #6c6c6c;
  cursor: pointer;
}
.terreno:hover {
  fill: #1b9d0f;
}
.apartado,
.activo,
.apartado:hover,
.activo:hover {
  fill: #ffd500;
  cursor: not-allowed;
}
.pagado,
.pagado:hover {
  fill: #ff0019;
  cursor: not-allowed;
}
.no_disponible,
.no_disponible:hover {
  fill: #c3c3c3;
  cursor: not-allowed;
}
.numero {
  fill: #fff;
  cursor: pointer;
  pointer-events: none;
}
.morado {
  color: #9500ff;
}
.amarillo {
  color: #ffd500;
}
.rosa {
  color: #ff00d0;
}

.modal-body p {
  margin-bottom: 0px;
}
.precio {
  font-size: 18px;
}
.zona strong {
  text-transform: uppercase;
}
.precio span {
  font-size: 20px;
  font-weight: bold;
}

.sidebar {
  width: 250px; /* Ancho deseado para la barra lateral */
  height: 100%; /* Altura completa */
  background-color: #f8f9fa; /* Color de fondo deseado */
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 20px; /* Espaciado interno */
  z-index: 1;
}

.logo img {
  width: 100%; /* Hacer que la imagen del logotipo ocupe todo el ancho disponible */
  margin-bottom: 20px; /* Espacio inferior */
}
.bg-unknown {
  background: #c3c3c3 !important;
}
.bg-success {
  background: #1fb611 !important;
}
.bg-warning {
  background: #ffd901 !important;
}
.bg-danger {
  background: #ff0019 !important;
}
.bg-rosa {
  background: #ff00d0 !important;
}
.bg-amarillo {
  background: #ffd500 !important;
}
.bg-morado {
  background: #9500ff !important;
}

.status-list {
  margin-bottom: 30px;
}
.type-list .precio {
  display: block;
  font-size: 14px;
  color: #6c6c6c;
}
.form-group {
  margin-bottom: 10px;
}
.btn-primary {
  background: #478a87 !important;
}

.brujula {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 120px;
}

.box_terreno {
  display: flex;
  width: 100%;
  flex-direction: column;
  text-align: center;
  border-bottom: 1px solid #9a9a9a;
  padding-bottom: 10px;
  margin-bottom: 15px;
}
.card-body {
  display: flex;
  flex-wrap: wrap;
}

.box_asesores {
  float: left;
  width: 100%;
  background: #478a87;
  border-radius: 9px;
  margin-top: 30px;
  padding: 15px;
  display: flex;
  flex-direction: row;
  align-items: center;
  border: 1px solid #ddd;
  transition: transform 0.3s;
  cursor: pointer;
  i {
    color: #fff;
    font-size: 20px;
  }
  .box_texto {
    display: flex;
    flex-direction: column;
    .titulo {
      color: #fff;
      font-weight: 600;
    }
    .sub_titulo {
      font-size: 13px;
      color: #fff;
    }
  }
}

.box_asesores:hover {
  animation: bounce 0.3s ease-in-out;
}

@keyframes bounce {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

@media only screen and (max-width: 768px) {
  .sidebar {
    position: relative !important;
    bottom: auto !important;
    width: 100% !important;
    top: 0 !important;
    height: auto;
  }
  .logo img {
    width: 250px;
    margin: auto;
    display: block;
  }
  .container {
    margin-top: 50px;
  }
  .form-floating {
    width: 100%;
    padding-right: 0px !important;
  }
}
.backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Color de fondo semi-transparente */
  z-index: 999; /* Z-index alto para que esté sobre todo el contenido */
  display: none; /* Ocultar inicialmente */
}
.spinner {
  display: none;
  position: fixed;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  z-index: 12;
  margin: auto;
  color: #478a87 !important;
}

.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control:focus ~ label,
.form-floating > .form-select:not(:placeholder-shown) ~ label,
.form-floating > .form-select:focus ~ label {
  color: #478a87 !important;
  transform: scale(0.8) translateY(-0.6rem) translateX(0.25rem);
  padding: 17px 12px !important;
  font-weight: 600 !important;
}
.form-floating > .form-select ~ label::after,
.form-floating > .form-control ~ label::after {
  background: none !important;
}
.form-floating input,
.form-floating select {
  padding: 21px 12px 4px !important;
  height: 48px !important;
  min-height: 48px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  background: rgba(0, 0, 0, 0.06) !important;
  border: none !important;
}

.form-floating label {
  font-size: 14px !important;
  padding: 14px 12px !important;
  font-weight: 500 !important;
}

.pr-15 {
  padding-right: 15px;
}

.table-cotizacion {
  width: 100%;
  border-collapse: collapse;
}
.table-cotizacion th,
td {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: center;
  font-size: 15px;
}
.table-cotizacion th {
  background-color: #478a87;
  color: white;
}

.table-cotizacion tbody tr:nth-child(odd) {
  background-color: #e4e4ec; /* Gris claro */
}

.table-cotizacion tbody tr:nth-child(even) {
  background-color: white; /* Blanco */
}

.text-white {
  color: white;
}

#btn_cotizar {
  float: left;
}
