header {
  position: relative;
}

header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 300px;
  z-index: 2;
  pointer-events: none;
  background: radial-gradient(ellipse 130% 100% at 50% 0%, transparent 50%, #020b05 100%);
}

.bg-dark-gradient {
  background: linear-gradient(180deg, #020b05 0%, #1a1d20 100%);
  padding-top: 2rem;
  position: relative;
  z-index: 3;
}

.card-glass-dark {
  background-color: rgba(11, 13, 15, 0.6);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}

.backdrop-blur {
  backdrop-filter: blur(5px);
}

.shadow-glow-green {
  box-shadow: 0 0 20px rgba(25, 135, 84, 0.5);
  transition: box-shadow 0.2s ease;
}

.text-shadow-glow {
  text-shadow: 0 0 20px rgba(25, 135, 84, 0.6);
}

.transition-all {
  transition: all 0.2s ease;
}

.hover-scale {
  transition: transform 0.15s ease;
}

.hover-scale:hover {
  transform: translateY(-3px);
}

.hover-scale-slight {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hover-scale-slight:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5);
}

.hover-card {
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.hover-card:hover {
  transform: translateY(-8px);
  border-color: rgba(25, 135, 84, 0.6) !important;
  box-shadow: 0 20px 40px rgba(0, 30, 60, 0.8) !important;
}

.glass-btn-hover:hover {
  background-color: #198754 !important;
  border-color: #198754 !important;
  color: white !important;
}

.property-img {
  object-fit: cover;
  transition: transform 0.28s ease;
}

.hover-card:hover .property-img {
  transform: scale(1.05);
}

.bg-image-hover {
  transition: transform 6s ease;
}

.carousel-item.active .bg-image-hover {
  transform: scale(1.1);
}

.simple-arrow {
  opacity: 0;
  transition: opacity 0.2s;
}

.hover-card:hover .simple-arrow,
#carouselDestacados:hover .simple-arrow {
  opacity: 1;
}

.shadow-filter {
  filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.8));
}

.overlap-filter {
  margin-top: 2rem;
}

@media (min-width: 992px) {
  .overlap-filter {
    margin-top: -45px;
  }

  .rounded-pill-pc {
    border-radius: 50px !important;
  }
}

.animate-up {
  animation: fadeInUp 0.55s forwards ease-out;
  opacity: 0;
  transform: translateY(20px);
}

.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.55s ease-out;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

.delay-1 {
  animation-delay: 0.2s;
}

.delay-2 {
  animation-delay: 0.4s;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.select2-container--default .select2-selection--multiple {
  border-radius: 50px !important;
  background-color: rgba(11, 13, 15, 0.6) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  min-height: 44px !important;
  padding: 4px 12px !important;
  cursor: pointer;
  transition: all 0.2s;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
  box-shadow: 0 0 0 2px rgba(25, 135, 84, 0.5) !important;
  border-color: #198754 !important;
  background-color: rgba(0, 30, 60, 0.8) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #155d3b !important;
  border: 1px solid rgba(25, 135, 84, 0.8) !important;
  color: white !important;
  border-radius: 50px !important;
  padding: 2px 10px !important;
  font-size: 0.85rem !important;
  margin-top: 6px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: rgba(255, 255, 255, 0.7) !important;
  margin-right: 5px !important;
  border-right: none !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #fff !important;
  background: transparent !important;
}

.select2-search__field {
  color: white !important;
  margin-top: 8px !important;
}

.select2-search__field::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}

.select2-dropdown {
  background: linear-gradient(180deg, rgba(21, 93, 59, 0.95) 0%, rgba(0, 51, 102, 0.95) 100%) !important;
  backdrop-filter: blur(15px);
  border: 1px solid rgba(25, 135, 84, 0.5) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8) !important;
  color: white !important;
}

.select2-container--default .select2-results__option {
  color: rgba(255, 255, 255, 0.8) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #198754 !important;
  color: white !important;
}

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

.hero-min-90 {
  min-height: 90vh;
}

.hero-overlay-venta {
  background: linear-gradient(180deg, rgba(21, 93, 59, 0.85) 0%, rgba(0, 51, 102, 0.95) 100%);
}

.destacado-media-min {
  min-height: 400px;
}

.carousel-control-width {
  width: 10%;
}

.catalog-min-h {
  min-height: 100vh;
}

.timeline-line {
  z-index: 0;
}

.step-circle {
  width: 70px;
  height: 70px;
}

.step-title {
  font-size: 0.85rem;
}

.step-text {
  font-size: 0.8rem;
}

.filter-block-spacing {
  z-index: 10;
  margin-bottom: 4rem;
}

.divider-accent {
  height: 4px;
  width: 80px;
  border-radius: 2px;
}

.card-media-h {
  height: 250px;
}

.metro-icon-badge {
  width: 16px;
  height: 16px;
  background: white;
}

.metro-placeholder-space {
  min-height: 24px;
}

.contact-radial-overlay {
  background: radial-gradient(circle, rgba(25, 135, 84, 0.1) 0%, rgba(11, 13, 15, 0) 60%);
  z-index: 0;
}
