/*** Section Title Start ***/
.section-title {
    position: relative;
    display: inline-block;
    text-transform: uppercase;
    color: var(--bs-primary);
}

.section-title::before {
    content: "";
    width: 50px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-right: -50px;
    border: 1px solid var(--bs-primary) !important;
}

.section-title::after {
    content: "";
    width: 50px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin-left: -50px;
    border: 1px solid var(--bs-primary) !important;
}


/*** Single Page Hero Header Start ***/
.bg-breadcrumb {
    background: linear-gradient(rgba(19, 53, 123, 0.5), rgba(19, 53, 123, 0.5)), url(../img/breadcrumb-bg.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    padding: 150px 0 50px 0;
}

.bg-breadcrumb .breadcrumb-item a {
    color: var(--bs-secondary) !important;
}
/*** Single Page Hero Header End ***/



/*** copyright Start ***/
.copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: var(--bs-dark) !important;
}
/*** copyright end ***/

/* ==========================================
   SECCIÓN HERO (REMODELACIÓN)
   ========================================== */

.hero-single-header {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  background-color: #111111;
}

.hero-bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}

/* Cambio 1: Sin máscara azul, overlay sutil para lectura */
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.2) 60%, rgba(0, 0, 0, 0) 100%);
  z-index: 2;
}

.hero-content-container {
  position: relative;
  z-index: 3;
}

/* Cambio 2: Subtítulo superior sin caja de fondo */
.hero-badge-tag {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  color: #d1dece;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

/* Cambio 3: Interlineado compacto */
.hero-main-title {
  color: #ffffff;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.1; /* Interlineado reducido */
  letter-spacing: -0.5px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

/* Cambio 4: Texto en cursiva */
.hero-main-title .italic-text {
  font-style: italic;
  font-weight: 400;
}

/* Subtítulo */
.hero-subtitle-text {
  color: #ffffff;
  font-size: 17px;
  font-weight: 400;
  max-width: 500px;
  line-height: 1.45;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

/* Botones */
.hero-buttons-wrapper {
  display: flex;
  gap: 15px;
}

.btn-hero-primary {
  background-color: #081d4a;
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 26px;
  border-radius: 8px;
  border: 2px solid #081d4a;
  transition: all 0.3s ease;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
}

.btn-hero-primary:hover {
  background-color: #0d2861;
  border-color: #0d2861;
  transform: translateY(-2px);
}

.btn-hero-secondary {
  background-color: rgba(255, 255, 255, 0.15);
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 600;
  padding: 12px 26px;
  border-radius: 8px;
  border: 1px solid #ffffff;
  backdrop-filter: blur(4px);
  transition: all 0.3s ease;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
}

.btn-hero-secondary:hover {
  background-color: #ffffff;
  color: #081d4a !important;
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 768px) {
  .hero-main-title {
    font-size: 32px;
    line-height: 1.15;
  }
  
  .hero-subtitle-text {
    font-size: 15px;
  }

  .hero-buttons-wrapper {
    flex-direction: column;
    align-items: stretch;
  }

  .btn-hero-primary, .btn-hero-secondary {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================
   SECCIÓN: CALL TO ACTION 1 (ALTURA COMPACTA)
   ========================================== */

.cta1-section {
  background-color: #ffffff;
  padding: 12px 20px !important; /* Reducido espacio superior e inferior */
}

.cta1-content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  max-width: 1140px;
  margin: 0 auto;
}

/* Subtítulo */
.cta1-tagline {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  color: #081d4a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 4px !important; /* Menor separación con el título */
}

/* Título */
.cta1-title {
  color: #081d4a;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.05;
  margin: 0 !important;
  letter-spacing: -0.5px;
}

.cta1-title .italic-text {
  font-style: italic;
  font-weight: 400;
}

/* Adaptación Mobile */
@media (max-width: 768px) {
  .cta1-section {
    padding: 10px 15px !important;
  }

  .cta1-title {
    font-size: 24px;
    line-height: 1.1;
  }
}

/* ==========================================
   BARRA INFORMATIVA INFERIOR (PRECIO Y BOTÓN)
   ========================================== */

.hero-bottom-info-bar {
  background-color: #081d4a; /* Azul oscuro corporativo acorde a la imagen */
  padding: 22px 0;
  color: #ffffff;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  width: 100%;
}

/* Bloque 1: Precio */
.price-info-block .price-label {
  display: block;
  font-size: 13px;
  color: #a3b8cc;
  font-weight: 400;
  margin-bottom: 2px;
}

.price-info-block .price-value {
  font-size: 32px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1;
  letter-spacing: -0.5px;
}

.price-info-block .currency-tag {
  font-size: 13px;
  font-weight: 500;
  color: #a3b8cc;
  margin-left: 4px;
}

/* Bloque 2: Texto Central */
.text-info-block .info-headline {
  font-size: 15px;
  font-weight: 600;
  color: #ffffff;
}

.text-info-block .info-subtext {
  font-size: 14px;
  color: #c2d4e5;
  font-weight: 300;
}

/* Bloque 3: Botón Recibir Disponibilidad */
.btn-availability {
  background-color: #d1e8f2; /* Azul celeste pastel muy claro */
  color: #081d4a !important;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 24px;
  border-radius: 8px;
  border: none;
  transition: all 0.3s ease;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
}

.btn-availability:hover {
  background-color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Adaptación Responsive */
@media (max-width: 768px) {
  .hero-bottom-info-bar {
    padding: 20px 15px;
  }

  .price-info-block .price-value {
    font-size: 26px;
  }

  .button-info-block, 
  .btn-availability {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================
   SECCIÓN: PROPUESTA DE VALOR
   ========================================== */

.valor-section {
  background-color: #ffffff;
}

/* Tarjeta contenedora principal con fondo pastel suave */
.valor-card-bg {
  background-color: #EDF5FA;
  border-radius: 20px;
  padding: 35px;
}

/* Contenedor e imagen con esquinas redondeadas */
.valor-img-container {
  width: 100%;
  height: 420px;
  border-radius: 16px;
  overflow: hidden;
}

.valor-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Subtítulo inicial superior */
.valor-tagline {
  color: #081d4a;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.2px;
}

/* Título Principal */
.valor-title {
  color: #081d4a;
  font-size: 34px;
  line-height: 1.15;
  letter-spacing: -0.5px;
}

.valor-title .title-bold {
  font-weight: 800;
  display: inline-block;
}

.valor-title .title-italic {
  font-style: italic;
  font-weight: 400;
}

/* Lista vertical de ítems con ícono a la izquierda */
.valor-items-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.valor-item-icon {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  margin-top: 2px;
}

.valor-item-text-wrap {
  display: flex;
  flex-direction: column;
}

.valor-item-text {
  color: #081d4a;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 6px;
}

/* Fina línea divisoria debajo de cada texto */
.item-divider {
  width: 45px;
  height: 1.5px;
  background-color: #081d4a;
}

/* Botón Ovalado de Acción (Agendar visita) */
.btn-valor-cta {
  background-color: #081d4a;
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 30px;
  display: inline-flex;
  align-items: center;
  border: none;
  transition: all 0.3s ease;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(8, 29, 74, 0.15);
}

.btn-valor-cta:hover {
  background-color: #0d2861;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(8, 29, 74, 0.25);
}

.btn-valor-cta .btn-icon {
  width: 16px;
  height: 16px;
  filter: brightness(0) invert(1);
}

/* Adaptación para dispositivos móviles */
@media (max-width: 768px) {
  .valor-card-bg {
    padding: 20px;
  }

  .valor-img-container {
    height: 260px;
  }

  .valor-title {
    font-size: 26px;
  }

  .valor-item-text {
    font-size: 13.5px;
  }

  .btn-valor-cta {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================
   SECCIÓN: BARRA INFORMATIVA 2
   ========================================== */

.infobar2-section {
  background-color: #ffffff;
  padding: 30px 0;
}

/* Grilla en Escritorio (3 Columnas) */
.infobar2-grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 35px;
  align-items: start;
}

.infobar2-item {
  display: flex;
  flex-direction: column;
}

/* Línea superior divisoria */
.infobar2-divider {
  width: 100%;
  height: 1px;
  background-color: #e2e8f0;
}

/* Título de cada columna */
.infobar2-title {
  color: #081d4a; /* Azul oscuro corporativo */
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.2px;
}

/* Párrafo descriptivo */
.infobar2-description {
  color: #556070;
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1.45;
}

/* Adaptación para Pantallas Móviles */
@media (max-width: 991.98px) {
  .infobar2-section {
    padding: 20px 0;
  }

  .infobar2-grid-container {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    gap: 20px;
    padding-bottom: 10px;
    -webkit-overflow-scrolling: touch;
  }

  .infobar2-grid-container::-webkit-scrollbar {
    display: none; /* Oculta barra de desplazamiento en móvil */
  }

  .infobar2-item {
    flex: 0 0 82%;
    scroll-snap-align: center;
  }

  .infobar2-title {
    font-size: 16.5px;
  }

  .infobar2-description {
    font-size: 13.5px;
  }
}
/* ==========================================
   SECCIÓN: LOTES DISPONIBLES
   ========================================== */

.lotes-section {
  background-color: #ffffff;
}

/* Fondo principal pastel */
.lotes-card-bg {
  background-color: #EDF5FA;
  border-radius: 20px;
  padding: 40px 30px;
}

/* Encabezado */
.header-line {
  width: 70px;
  height: 2px;
  background-color: #081d4a;
  margin: 0 auto;
}

.lotes-main-title {
  color: #081d4a;
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: -0.5px;
}

.lotes-main-title .title-bold {
  font-weight: 800;
  display: block;
}

.lotes-main-title .title-italic {
  font-style: italic;
  font-weight: 400;
  display: block;
}

/* Grilla en Escritorio (3 Columnas) */
.lotes-grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  perspective: 1000px; /* Habilita perspectiva 3D */
}

/* Tarjeta individual */
.lote-card {
  background-color: #ffffff;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 4px 15px rgba(8, 29, 74, 0.05);
  transition: transform 0.15s ease-out, box-shadow 0.3s ease;
  transform-style: preserve-3d;
  display: flex;
  flex-direction: column;
}

.lote-card:hover {
  box-shadow: 0 12px 30px rgba(8, 29, 74, 0.12);
}

/* Imagen superior */
.lote-img-wrapper {
  width: 100%;
  height: 190px;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 16px;
}

.lote-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.lote-card:hover .lote-img {
  transform: scale(1.05);
}

/* Filas de especificaciones con línea inferior */
.lote-card-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.lote-info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #111111; /* Fina línea oscura divisoria */
  font-size: 13.5px;
}

.info-label {
  color: #081d4a;
  font-weight: 700;
}

.info-value {
  color: #222222;
  font-weight: 400;
}

/* Botón Ovalado */
.btn-lote-cta {
  background-color: #081d4a;
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 700;
  padding: 10px 20px;
  border-radius: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  transition: all 0.3s ease;
  text-decoration: none !important;
  margin-top: auto;
}

.btn-lote-cta:hover {
  background-color: #0d2861;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(8, 29, 74, 0.2);
}

.btn-lote-cta .btn-icon {
  width: 14px;
  height: 14px;
  filter: brightness(0) invert(1);
}

/* Botones de navegación (Móvil) */
.lotes-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  font-size: 24px;
  color: #081d4a;
  cursor: pointer;
  z-index: 10;
  padding: 5px 10px;
}

.lotes-nav-btn.prev-btn { left: -15px; }
.lotes-nav-btn.next-btn { right: -15px; }

/* Adaptación Mobile (Carrusel) */
@media (max-width: 991.98px) {
  .lotes-card-bg {
    padding: 25px 15px;
  }

  .lotes-grid-container {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    gap: 15px;
    padding: 10px 5px;
    -webkit-overflow-scrolling: touch;
  }

  .lotes-grid-container::-webkit-scrollbar {
    display: none;
  }

  .lote-card {
    flex: 0 0 85%;
    scroll-snap-align: center;
  }
}

/* ==========================================
   SECCIÓN: CONDICIONES
   ========================================== */

.condiciones-section {
  background-color: #081d4a; /* Fondo azul oscuro del proyecto */
  padding: 60px 0;
  color: #ffffff;
}

/* Subtítulo superior */
.condiciones-tagline {
  color: #a0c0db;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* Título Principal */
.condiciones-main-title {
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.5px;
}

.condiciones-main-title .title-italic {
  font-style: italic;
  font-weight: 400;
  color: #ffffff;
}

/* Descripción del encabezado */
.condiciones-header-desc {
  color: #d1dece;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 300;
}

/* Tarjeta individual de condición */
.condicion-card {
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 28px 24px;
  height: 100%;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.condicion-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 255, 255, 0.25);
  background-color: rgba(255, 255, 255, 0.08);
}

.condicion-step-num {
  display: block;
  color: #a0c0db;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
}

.condicion-card-title {
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 16px;
}

/* Lista de viñetas dentro de las tarjetas */
.condicion-list li {
  position: relative;
  padding-left: 16px;
  color: #e0e8f0;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 8px;
  font-weight: 300;
}

.condicion-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #a0c0db;
}

/* Pie inferior */
.condiciones-footer-desc {
  color: #d1dece;
  font-size: 14px;
  max-width: 500px;
  font-weight: 300;
}

/* Botón de Acción Claro */
.btn-condiciones-cta {
  background-color: #d1e8f2;
  color: #081d4a !important;
  font-size: 14.5px;
  font-weight: 700;
  padding: 12px 24px;
  border-radius: 8px;
  border: none;
  transition: all 0.3s ease;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
}

.btn-condiciones-cta:hover {
  background-color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Adaptación Mobile */
@media (max-width: 768px) {
  .condiciones-section {
    padding: 40px 0;
  }

  .condiciones-main-title {
    font-size: 30px;
  }

  .btn-condiciones-cta {
    width: 100%;
    justify-content: center;
  }
}
/* ==========================================
   SECCIÓN: GALERÍA 1 (CONTORNO GRIS DELGADO)
   ========================================== */

.galeria1-section {
  background-color: #ffffff;
}

.galeria1-grid-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}

/* Tarjeta con contorno gris muy delgado */
.galeria1-card {
  border: 1px solid #e0e0e0; /* Contorno gris muy suave */
  border-radius: 16px;
  padding: 12px;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.galeria1-card:hover {
  border-color: #cccccc; /* Un gris ligeramente más marcado al pasar el mouse */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* Contenedor de la Imagen */
.galeria1-img-wrapper {
  width: 100%;
  height: 220px;
  border-radius: 12px;
  overflow: hidden;
  background-color: #f5f5f5;
}

.galeria1-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  cursor: pointer;
}

/* Pie de la tarjeta */
.galeria1-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding: 2px 4px;
}

.galeria1-card-text {
  display: flex;
  flex-direction: column;
  color: #111111;
  font-size: 14px;
  line-height: 1.25;
}

.galeria1-card-text strong {
  font-weight: 700;
  color: #111111;
}

.galeria1-card-text span {
  font-weight: 400;
  color: #666666;
}

/* Botón Lupa con contorno gris */
.galeria1-zoom-btn {
  background: #ffffff;
  border: 1px solid #d0d0d0; /* Contorno gris delgado para el botón */
  border-radius: 8px;
  width: 44px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  transition: all 0.2s ease;
}

.galeria1-zoom-btn:hover {
  background-color: #f8f8f8;
  border-color: #bbbbbb;
}

.galeria1-zoom-btn img {
  width: 16px;
  height: 16px;
}

/* Modal de Ampliación de Imagen */
.galeria1-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.88);
  align-items: center;
  justify-content: center;
  padding: 20px;
  backdrop-filter: blur(4px);
}

.galeria1-modal-content {
  position: relative;
  max-width: 90%;
  max-height: 90vh;
  text-align: center;
}

.galeria1-modal-content img {
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}

.galeria1-modal-close {
  position: absolute;
  top: -40px;
  right: 0;
  color: #ffffff;
  font-size: 36px;
  font-weight: 300;
  cursor: pointer;
  line-height: 1;
}

/* Responsive */
@media (max-width: 991.98px) {
  .galeria1-grid-container {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    gap: 15px;
    padding: 10px 30px;
  }

  .galeria1-card {
    flex: 0 0 85%;
    scroll-snap-align: center;
  }
}
/* ==========================================
   SECCIÓN: CALL TO ACTION 1
   ========================================== */

.cta1-section {
  background-color: #ffffff; /* Fondo blanco limpio */
  padding: 60px 20px;
  font-family: 'Open Sans', Arial, sans-serif;
}

.cta1-content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  max-width: 1140px;
  margin: 0 auto;
}

/* Badge Pastilla (Pill) */
.cta1-badge {
  background-color: #081d4a; /* Azul oscuro corporativo */
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 24px;
  border-radius: 30px; /* Bordes totalmente redondeados */
  display: inline-block;
  margin-bottom: 20px;
  letter-spacing: 0.3px;
  box-shadow: 0 2px 8px rgba(8, 29, 74, 0.15);
}

/* Título Principal */
.cta1-title {
  color: #081d4a; /* Azul oscuro */
  font-size: 38px;
  font-weight: 500;
  line-height: 1.25;
  margin: 0;
  letter-spacing: -0.5px;
}

/* Adaptación Responsive para Móviles */
@media (max-width: 768px) {
  .cta1-section {
    padding: 40px 15px;
  }

  .cta1-badge {
    font-size: 13px;
    padding: 7px 20px;
  }

  .cta1-title {
    font-size: 28px;
  }
}
/* ==========================================
   SECCIÓN: CALL TO ACTION 1
   ========================================== */

.cta1-section {
  background-color: #ffffff; /* Fondo blanco limpio */
  padding: 60px 20px;
  font-family: 'Open Sans', Arial, sans-serif;
}

.cta1-content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  max-width: 1140px;
  margin: 0 auto;
}

/* Badge Pastilla (Pill) */
.cta1-badge {
  background-color: #081d4a; /* Azul oscuro corporativo */
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 24px;
  border-radius: 30px; /* Bordes totalmente redondeados */
  display: inline-block;
  margin-bottom: 20px;
  letter-spacing: 0.3px;
  box-shadow: 0 2px 8px rgba(8, 29, 74, 0.15);
}

/* Título Principal */
.cta1-title {
  color: #081d4a; /* Azul oscuro */
  font-size: 38px;
  font-weight: 500;
  line-height: 1.25;
  margin: 0;
  letter-spacing: -0.5px;
}

/* Adaptación Responsive para Móviles */
@media (max-width: 768px) {
  .cta1-section {
    padding: 40px 15px;
  }

  .cta1-badge {
    font-size: 13px;
    padding: 7px 20px;
  }

  .cta1-title {
    font-size: 28px;
  }
}

/* ==========================================
   SECCIÓN: GALERÍA 1 (CONTORNO GRIS DELGADO)
   ========================================== */

.galeria1-section {
  background-color: #ffffff;
}

.galeria1-grid-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}

/* Tarjeta con contorno gris muy delgado */
.galeria1-card {
  border: 1px solid #e0e0e0; /* Contorno gris muy suave */
  border-radius: 16px;
  padding: 12px;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.galeria1-card:hover {
  border-color: #cccccc; /* Un gris ligeramente más marcado al pasar el mouse */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* Contenedor de la Imagen */
.galeria1-img-wrapper {
  width: 100%;
  height: 220px;
  border-radius: 12px;
  overflow: hidden;
  background-color: #f5f5f5;
}

.galeria1-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  cursor: pointer;
}

/* Pie de la tarjeta */
.galeria1-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding: 2px 4px;
}

.galeria1-card-text {
  display: flex;
  flex-direction: column;
  color: #111111;
  font-size: 14px;
  line-height: 1.25;
}

.galeria1-card-text strong {
  font-weight: 700;
  color: #111111;
}

.galeria1-card-text span {
  font-weight: 400;
  color: #666666;
}

/* Botón Lupa con contorno gris */
.galeria1-zoom-btn {
  background: #ffffff;
  border: 1px solid #d0d0d0; /* Contorno gris delgado para el botón */
  border-radius: 8px;
  width: 44px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  transition: all 0.2s ease;
}

.galeria1-zoom-btn:hover {
  background-color: #f8f8f8;
  border-color: #bbbbbb;
}

.galeria1-zoom-btn img {
  width: 16px;
  height: 16px;
}

/* Modal de Ampliación de Imagen */
.galeria1-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.88);
  align-items: center;
  justify-content: center;
  padding: 20px;
  backdrop-filter: blur(4px);
}

.galeria1-modal-content {
  position: relative;
  max-width: 90%;
  max-height: 90vh;
  text-align: center;
}

.galeria1-modal-content img {
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}

.galeria1-modal-close {
  position: absolute;
  top: -40px;
  right: 0;
  color: #ffffff;
  font-size: 36px;
  font-weight: 300;
  cursor: pointer;
  line-height: 1;
}

/* Responsive */
@media (max-width: 991.98px) {
  .galeria1-grid-container {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    gap: 15px;
    padding: 10px 30px;
  }

  .galeria1-card {
    flex: 0 0 85%;
    scroll-snap-align: center;
  }
}

/* Título Principal (Mucho más grande) */
.condominio-title {
  color: #081d4a; /* Color azul */
  font-size: 48px; /* Incrementado considerablemente */
  line-height: 1.1; /* Interlineado más compacto para mejor estética */
  letter-spacing: -1px;
}

.condominio-title .title-bold {
  font-weight: 800; /* Extra negrita para marcar máximo impacto */
  display: block;
  margin-bottom: 4px;
}

.condominio-title .title-light {
  font-weight: 300;
  display: block;
}

/* Adaptación Responsive para Móviles */
@media (max-width: 768px) {
  .condominio-title {
    font-size: 32px; /* Tamaño adaptado para pantallas móviles */
    line-height: 1.15;
  }
}y


/* ==========================================
   SECCIÓN: CONDOMINIO (AJUSTE JERARQUÍA & COLOR)
   ========================================== */

.condominio-section {
  background-color: #ffffff;
}

.condominio-card {
  background-color: #f1f6fa;
  border-radius: 20px;
  padding: 35px;
}

.condominio-img-wrapper {
  width: 100%;
  height: 420px;
  border-radius: 16px;
  overflow: hidden;
}

.condominio-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Título Principal: Más grande y todo en azul */
.condominio-title {
  color: #081d4a; /* Color Azul */
  font-size: 38px; /* Tamaño mayor para destacar */
  line-height: 1.15;
  letter-spacing: -0.5px;
}

.condominio-title .title-bold {
  font-weight: 700;
  display: inline-block;
}

.condominio-title .title-light {
  font-weight: 300;
}

/* Lista de Puntos: Más pequeños y en azul */
.condominio-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.condominio-item span {
  color: #081d4a; /* Color Azul */
  font-size: 15px; /* Tamaño de texto reducido */
  line-height: 1.35;
  font-weight: 400;
  display: block;
}

.condominio-item .item-line {
  width: 50px;
  height: 1.5px;
  background-color: #081d4a; /* Línea de separación en azul */
  margin-top: 6px;
}

/* Botón Ovalado */
.btn-condominio-cta {
  background-color: #081d4a;
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 600;
  padding: 12px 28px;
  border-radius: 30px;
  display: inline-flex;
  align-items: center;
  border: none;
  transition: all 0.3s ease;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(8, 29, 74, 0.15);
}

.btn-condominio-cta:hover {
  background-color: #0d2861;
  transform: translateY(-2px);
}

.btn-condominio-cta .btn-icon {
  width: 16px;
  height: 16px;
  filter: brightness(0) invert(1);
}

/* Adaptación Móvil */
@media (max-width: 768px) {
  .condominio-title {
    font-size: 28px;
  }

  .condominio-item span {
    font-size: 14px;
  }

  .condominio-img-wrapper {
    height: 260px;
  }
}
/
/* ==========================================
   SECCIÓN: PROPUESTA DE VALOR
   ========================================== */

.valor-section {
  background-color: #fff; /* fondo blanco */
  padding: 60px 0;
}

.valor-img {
  border-radius: 12px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.valor-title {
  font-size: 34px;
  font-weight: 800;
  color: #333333; /* gris oscuro */
}

.valor-subtitle {
  font-size: 22px;
  font-weight: 600;
  color: #0c0257; /* mantenemos azul para subtítulos */
}

.valor-description {
  font-size: 17px;
  color: #333333; /* gris oscuro */
  margin-bottom: 40px;
}

/* Bloques de iconos en fila */
.valor-icon-box {
  transition: all 0.3s ease;
  padding: 18px;
}

.valor-icon-box:hover {
  transform: translateY(-6px);
  background-color: #fff;
  border-radius: 14px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

/* Íconos SVG */
.valor-icon {
  width: 65px;
  height: 65px;
  padding: 12px;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 3px 12px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}

.valor-icon-box:hover .valor-icon {
  transform: scale(1.12);
}

.valor-item-title {
  font-size: 18px;
  font-weight: 700;
  color: #333333; /* gris oscuro */
  margin-top: 10px;
  margin-bottom: 4px;
}

.valor-item-text {
  font-size: 15px;
  color: #333333; /* gris oscuro */
}

/* Adaptación móvil */
@media (max-width: 768px) {
  .valor-title {
    font-size: 26px;
  }

  .valor-subtitle {
    font-size: 18px;
  }

  .valor-description {
    font-size: 15px;
  }

  .valor-icon {
    width: 55px; 
    height: 55px;
    padding: 10px;
  }

  .valor-item-title {
    font-size: 16px;
  }

  .valor-item-text {
    font-size: 14px;
  }
}
/* ==========================================
   SECCIÓN: ICONOS CONDOMINIO
   ========================================== */

.condominio-section {
  background-color: #ECF7FB;
}

.condominio-box {
  transition: all 0.3s ease;
  padding: 20px;
  border-radius: 12px;
}

.condominio-box:hover {
  transform: scale(1.08);
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  background-color: #f9f9f9;
}

.condominio-icon {
  width: 65px;
  height: 65px;
  padding: 12px;
  background-color: #fff; /* círculo blanco */
  border-radius: 50%;
  box-shadow: 0 3px 12px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}

.condominio-box:hover .condominio-icon {
  transform: scale(1.12);
}

.condominio-title {
  font-size: 16px;
  font-weight: 600;
  color: #333333; /* gris oscuro */
  margin-top: 10px;
}

/* Ajustes carrusel móvil */
#condominioCarousel .carousel-item {
  padding: 30px 0;
}

#condominioCarousel .carousel-control-prev-icon,
#condominioCarousel .carousel-control-next-icon {
  background-color: #333333; /* gris oscuro */
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background-size: 60% 60%;
}

#condominioCarousel .carousel-control-prev,
#condominioCarousel .carousel-control-next {
  top: 50%;
  transform: translateY(-50%);
}
/* ==========================================
   SECCIÓN: UBICACIÓN
   ========================================== */

.ubicacion-section {
  background-color: #fff; /* fondo blanco */
  padding: 60px 0;
}

.ubicacion-title {
  font-size: 28px;
  font-weight: 800;
  color: #333333; /* gris oscuro */
}

.ubicacion-description {
  font-size: 16px;
  color: #333333; /* gris oscuro */
}

.btn-ubicacion {
  background-color: #333333; /* gris oscuro */
  color: #fff;
  font-weight: 600;
  padding: 10px 20px;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.btn-ubicacion:hover {
  background-color: #000028; /* azul muy oscuro en hover */
  color: #fff;
}

.ubicacion-box {
  margin-bottom: 20px;
  transition: all 0.3s ease;
}

.ubicacion-box:hover {
  transform: scale(1.08);
}

.ubicacion-icon {
  width: 55px;
  height: 55px;
  padding: 10px;
  background-color: #fff; /* círculo blanco */
  border-radius: 50%;
  box-shadow: 0 3px 12px rgba(0,0,0,0.1);
  margin-bottom: 8px;
}

.ubicacion-text {
  font-size: 14px;
  color: #333333; /* gris oscuro */
  font-weight: 500;
}

/* Adaptación móvil */
@media (max-width: 768px) {
  .ubicacion-title {
    font-size: 22px;
  }

  .ubicacion-description {
    font-size: 14px;
  }

  .ubicacion-icon {
    width: 45px;
    height: 45px;
    padding: 8px;
  }

  .ubicacion-text {
    font-size: 13px;
  }
}
/* ==========================================
   SECCIÓN: COMPRA (PROCESO PASO A PASO)
   ========================================== */

.compra-section {
  background-color: #ffffff;
}

/* Contenedor principal con fondo #EDF5FA */
.compra-wrapper {
  background-color: #EDF5FA;
  border-radius: 16px;
  padding: 40px 30px;
}

/* Distribución en Escritorio (3 Columnas) */
.compra-steps-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  align-items: start;
}

.compra-step-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

/* Ícono numérico */
.step-icon {
  margin-bottom: 14px;
}

.step-icon img {
  width: 32px;
  height: 32px;
}

/* Título de cada paso */
.step-title {
  color: #0b192c;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.25;
}

/* Descripción */
.step-description {
  color: #556070;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  margin: 0;
}

/* Flechas de navegación (Móvil) */
.compra-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 10;
  padding: 5px;
}

.compra-nav-btn img {
  width: 22px;
  height: 22px;
}

.compra-nav-btn.prev-btn {
  left: 10px;
}

.compra-nav-btn.next-btn {
  right: 10px;
}

/* ==========================================
   ADAPTACIÓN RESPONSIVE (CARRUSEL MÓVIL)
   ========================================== */

@media (max-width: 991.98px) {
  .compra-wrapper {
    padding: 35px 45px; /* Deja espacio para las flechas laterales */
  }

  .compra-steps-container {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    gap: 0;
    -webkit-overflow-scrolling: touch;
  }

  .compra-steps-container::-webkit-scrollbar {
    display: none; /* Oculta barra de desplazamiento */
  }

  .compra-step-card {
    flex: 0 0 100%;
    scroll-snap-align: center;
    align-items: center;
    text-align: center;
    padding: 0 10px;
  }

  .step-title {
    font-size: 17px;
  }

  .step-description {
    font-size: 14px;
    max-width: 280px;
  }
}

//* ==========================================
   SECCIÓN: EQUIPO
   ========================================== */

.equipo-section {
  background-color: #ffffff;
  padding-top: 10px !important;
}

.equipo-card {
  border: none !important;
  border-radius: 0;
  padding: 20px 0;
  background-color: transparent;
}

.equipo-tag-title {
  color: #000000;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.equipo-logo-wrapper {
  max-width: 220px;
}

.equipo-logo {
  width: 100%;
  height: auto;
  display: block;
}

.equipo-main-title {
  color: #000000;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}

.equipo-description {
  color: #333333;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
  max-width: 520px;
}

/* Botón Escríbenos */
.btn-equipo-cta {
  background-color: #081d4a;
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: none;
  transition: all 0.3s ease;
  text-decoration: none !important;
  box-shadow: 0 3px 10px rgba(8, 29, 74, 0.2);
}

.btn-equipo-cta:hover {
  background-color: #0d2861;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(8, 29, 74, 0.3);
}

/* Dimensiones del Vector SVG de WhatsApp */
.whatsapp-icon-vector {
  width: 20px !important;
  height: 20px !important;
  fill: #ffffff !important;
  display: inline-block;
  flex-shrink: 0;
}

@media (max-width: 991.98px) {
  .equipo-section {
    padding-top: 5px !important;
  }

  .equipo-card {
    padding: 15px 0;
  }

  .equipo-left-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 10px;
  }

  .equipo-logo-wrapper {
    max-width: 190px;
    margin: 0 auto;
  }

  .equipo-right-block {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
/* ==========================================
   SECCIÓN: PREGUNTAS FRECUENTES (AJUSTADO)
   ========================================== */

.faq-section {
  background-color: #ffffff;
  padding: 60px 0;
}

/* Subtítulo superior */
.faq-tagline {
  color: #081d4a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* Título principal */
.faq-main-title {
  color: #081d4a;
  font-size: 44px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.5px;
}

.faq-main-title .italic-text {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  color: #081d4a;
}

/* Acordeón Limpio sin Sombras ni Fondo */
.custom-faq-accordion .faq-item {
  border-bottom: 1px solid #e2e8f0;
  background-color: transparent !important;
  border-top: none;
  border-left: none;
  border-right: none;
}

/* Botón del Título (Siempre Azul) */
.custom-faq-accordion .accordion-button {
  background-color: transparent !important;
  color: #081d4a !important; /* Azul constante */
  font-size: 17px;
  font-weight: 700;
  padding: 20px 0;
  border: none !important;
  box-shadow: none !important; /* Quita sombras y bordes de enfoque */
}

/* Estado Activo / Desplegado (Sigue siendo Azul) */
.custom-faq-accordion .accordion-button:not(.collapsed) {
  color: #081d4a !important; /* Mantener texto azul al hacer click */
  background-color: transparent !important;
  box-shadow: none !important;
}

.custom-faq-accordion .accordion-button:focus {
  box-shadow: none !important;
  border-color: transparent !important;
}

/* Flecha del Acordeón en Azul */
.custom-faq-accordion .accordion-button::after {
  filter: brightness(0) saturate(100%) invert(10%) sepia(50%) saturate(3000%) hue-rotate(200deg);
  transition: transform 0.3s ease;
}

.custom-faq-accordion .accordion-button:not(.collapsed)::after {
  filter: brightness(0) saturate(100%) invert(10%) sepia(50%) saturate(3000%) hue-rotate(200deg); /* Flecha azul */
}

/* Cuerpo de Respuesta sin sombreados */
.custom-faq-accordion .faq-answer {
  color: #556070;
  font-size: 15px;
  line-height: 1.6;
  padding: 0 0 20px 0;
  font-weight: 400;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Adaptación Mobile */
@media (max-width: 768px) {
  .faq-section {
    padding: 40px 0;
  }

  .faq-main-title {
    font-size: 32px;
    margin-bottom: 20px;
  }

  .custom-faq-accordion .accordion-button {
    font-size: 15px;
    padding: 16px 0;
  }

  .custom-faq-accordion .faq-answer {
    font-size: 14px;
  }
}

/* ==========================================
   SECCIÓN: CALL TO ACTION 2
   ========================================== */

.cta2-section {
  background-color: #081d4a; /* Azul oscuro corporativo */
  padding: 80px 20px;
}

.cta2-content-wrapper {
  max-width: 780px;
}

/* Subtítulo superior */
.cta2-tagline {
  color: #c2d4e5;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}

/* Título Principal */
.cta2-title {
  color: #ffffff;
  font-size: 48px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.5px;
}

.cta2-title .italic-text {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  color: #ffffff;
}

/* Párrafo */
.cta2-description {
  color: #e0e8f0;
  font-size: 16px;
  font-weight: 300;
  max-width: 580px;
  line-height: 1.5;
}

/* Contenedor de Botones */
.cta2-buttons-wrapper {
  margin-top: 25px;
}

/* Botón Relleno Claro */
.btn-cta2-light {
  background-color: #d1e8f2; /* Azul celeste claro pastel */
  color: #081d4a !important;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 26px;
  border-radius: 8px;
  border: none;
  transition: all 0.3s ease;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
}

.btn-cta2-light:hover {
  background-color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Botón Delineado Transparente */
.btn-cta2-outline {
  background-color: transparent;
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 600;
  padding: 12px 26px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  transition: all 0.3s ease;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
}

.btn-cta2-outline:hover {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: #ffffff;
  transform: translateY(-2px);
}

/* Adaptación para Pantallas Móviles */
@media (max-width: 768px) {
  .cta2-section {
    padding: 50px 15px;
  }

  .cta2-title {
    font-size: 32px;
  }

  .cta2-description {
    font-size: 14px;
  }

  .cta2-buttons-wrapper {
    flex-direction: column;
    align-items: stretch;
  }

  .btn-cta2-light, 
  .btn-cta2-outline {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================
   NAVBAR SUPERIOR
   ========================================== */

.custom-navbar {
  background-color: #4F8138; /* verde principal */
  padding: 12px 0;
}

.navbar-logo {
  height: 45px;
  width: auto;
}

.nav-link {
  color: #fff !important;
  font-weight: 600;
  margin: 0 10px;
  transition: color 0.3s ease;
}

.nav-link:hover {
  color: #D1DECE !important; /* verde claro de apoyo */
}

/* Botón WhatsApp */
.btn-whatsapp {
  background-color: #fff;
  color: #4F8138;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-whatsapp:hover {
  background-color: #D1DECE;
  color: #333;
}

/* ==========================================
   VARIABLES DE COLOR
   ========================================== */
:root {
  --azul-oscuro: #000028;   /* protagonista */
  --azul-claro: #009AC9;    /* acento */
  --azul-medio: #13357B;    /* apoyo intermedio */

  --bs-primary: var(--azul-oscuro);
  --bs-secondary: var(--azul-claro);
  --bs-dark: var(--azul-oscuro);
  --bs-light: #F2F2F2;
  --bs-white: #fff;
}

/* ==========================================
   ESTILOS GENERALES
   ========================================== */
body {
  font-family: 'Poppins', sans-serif;
  background-color: #fff;
  color: #333;
}

/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}
#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}

/*** Back to Top Button ***/
.back-to-top {
    position: fixed;
    right: 30px;
    bottom: 30px;
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
    background-color: var(--bs-primary);
    color: #fff;
    border-radius: 50%;
    transition: 0.5s;
    z-index: 99;
}
.back-to-top:hover {
    background-color: var(--bs-secondary);
    color: #fff;
}

/*** Botones ***/
.btn-cta1,
.btn-lotes,
.btn-respaldo,
.btn-hero-cta,
.btn-ubicacion {
  background-color: var(--bs-primary);
  color: #fff;
}
.btn-cta1:hover,
.btn-lotes:hover,
.btn-respaldo:hover,
.btn-hero-cta:hover,
.btn-ubicacion:hover {
  background-color: var(--bs-secondary);
  color: #fff;
}

/*** Section Title ***/
.section-title {
    color: var(--bs-primary);
}
.section-title::before,
.section-title::after {
    border: 1px solid var(--bs-primary) !important;
}

/*** Topbar ***/
.topbar {
    background: var(--bs-primary) !important;
}
.topbar a:hover,
.topbar a i:hover {
    color: var(--bs-secondary) !important;
}

/*** Navbar ***/
.custom-navbar {
  background-color: var(--bs-primary);
}
.nav-link:hover {
  color: var(--bs-secondary) !important;
}
.btn-whatsapp {
  background-color: #fff;
  color: var(--bs-primary);
}
.btn-whatsapp:hover {
  background-color: var(--bs-secondary);
  color: #333;
}


/*** Títulos y subtítulos ***/
.valor-title,
.ubicacion-title,
.silvania-title,
.lotes-title,
.faq-title,
.galeria-title,
.respaldo-title {
  color: var(--bs-primary);
}
.valor-item-title,
.silvania-subtitle {
  color: var(--bs-secondary);
}

/*** Flechas carrusel ***/
.carousel-control-prev-icon,
.carousel-control-next-icon,
.galeria-btn {
  background-color: var(--bs-secondary);
}

/*** Hero Badge y elementos que estaban verdes ***/
.hero-badge-tag {
  background-color: var(--bs-primary);
}
.price-offer strong {
  color: var(--bs-secondary);
}
.accordion-button {
  background-color: var(--bs-primary);
}
.accordion-body {
  border-left: 3px solid var(--bs-primary);
}

/*** Secciones varias ***/
.iconos-section .col:hover,
.condominio-box:hover {
  background-color: #f9f9f9;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes slideDown {
  from { transform: translateY(-100%); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
/* Animación de entrada para navbar */
.animate-navbar {
  animation: slideDown 0.8s ease forwards;
}
@keyframes slideDown {
  from { transform: translateY(-100%); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}

/* Animación fade para elementos */
.animate-fade {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease forwards;
}
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Animación general del Hero */
.animate-hero {
  animation: fadeInHero 1s ease forwards;
}
@keyframes fadeInHero {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Animaciones con retraso para cada elemento */
.animate-fade-delay1 {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease forwards;
  animation-delay: 0.3s;
}
.animate-fade-delay2 {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease forwards;
  animation-delay: 0.6s;
}
.animate-fade-delay3 {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease forwards;
  animation-delay: 0.9s;
}
.animate-fade-delay4 {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease forwards;
  animation-delay: 1.2s;
}

/* Keyframes reutilizables */
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Animación general de la sección */
.animate-iconos {
  animation: fadeInHero 1s ease forwards;
}
@keyframes fadeInHero {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Animaciones escalonadas para cada ícono */

/* Estado inicial oculto */
.hidden {
  opacity: 0;
  transform: translateY(20px);
}

.animate-fade-delay1 {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.8s ease forwards;
  animation-delay: 0.2s;
}
.animate-fade-delay2 {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.8s ease forwards;
  animation-delay: 0.4s;
}
.animate-fade-delay3 {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.8s ease forwards;
  animation-delay: 0.6s;
}
.animate-fade-delay4 {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.8s ease forwards;
  animation-delay: 0.8s;
}
.animate-fade-delay5 {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.8s ease forwards;
  animation-delay: 1s;
}

/* Keyframes reutilizables */
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cta1-section {
  position: relative;
  width: 100%;
  overflow: hidden; /* evita que se salga */
}

.cta1-overlay {
  background: rgba(0,0,0,0.5); /* oscurece el fondo */
  padding: 60px 20px; /* espacio interno adaptable */
}

.cta1-title {
  font-size: 1.8rem;
}
.cta1-subtitle {
  font-size: 1rem;
}

.btn-cta1 {
  font-size: 1rem;
  padding: 12px 24px;
  border-radius: 8px;
}
.cta1-icon {
  width: 24px;
  height: 24px;
}
/* Flechas SOLO para la galería móvil */
#galeriaCarousel .carousel-control-prev-icon,
#galeriaCarousel .carousel-control-next-icon {
  background-image: none;    /* quitamos fondo */
  border: solid #007bff;     /* flechas azules */
  border-width: 0 4px 4px 0;
  display: inline-block;
  padding: 8px;
}

#galeriaCarousel .carousel-control-prev-icon {
  transform: rotate(135deg); /* flecha izquierda */
}

#galeriaCarousel .carousel-control-next-icon {
  transform: rotate(-45deg); /* flecha derecha */
}
/* ==========================================
   ESTILO GLOBAL DE CONTROLES DE CARRUSEL
   ========================================== */

/* Botones de control */
.carousel-control-prev,
.carousel-control-next {
  position: absolute;        /* vuelven a estar sobre el carrusel */
  top: 50%;                  /* centradas verticalmente */
  transform: translateY(-50%);
  background: none;          /* sin fondo */
  border: none;              /* sin borde */
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

/* Flechas minimalistas azules */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-image: none;    /* quitamos ícono por defecto */
  border: solid #007bff;     /* azul corporativo */
  border-width: 0 4px 4px 0;
  display: inline-block;
  padding: 8px;
}

/* Flecha izquierda */
.carousel-control-prev-icon {
  transform: rotate(135deg);
}

/* Flecha derecha */
.carousel-control-next-icon {
  transform: rotate(-45deg);
}

/* Hover: azul más oscuro */
.carousel-control-prev:hover .carousel-control-prev-icon,
.carousel-control-next:hover .carousel-control-next-icon {
  border-color: #0056b3;
}

/* Barra siempre blanca */
.navbar,
.navbar-light {
  background-color: #fff !important;
  box-shadow: none !important;
}

/* Logo */
.navbar-light .navbar-brand img {
  max-height: 50px;
}

/* Links centrados */
.navbar-light .navbar-nav {
  text-align: center;
}
.navbar-light .navbar-nav .nav-link {
  color: #000028 !important; /* azul oscuro */
  font-size: 17px;
  font-weight: 500;
  padding: 20px 15px;
  transition: none !important;
}
.navbar-light .navbar-nav .nav-link:hover {
  color: #000028 !important;
}

/* Botón WhatsApp */
.navbar-light .nav-link.nav-contact {
  background-color: #000028 !important;
  color: #fff !important;
  border-radius: 6px;
  padding: 8px 16px;
  margin-left: 20px;
  text-align: center;
  display: inline-block;
}
.navbar-light .nav-link.nav-contact:hover {
  background-color: #009AC9 !important;
  color: #fff !important;
}

/* Responsive ajustes */
@media (max-width: 991.98px) {
  .navbar-light .navbar-nav {
    text-align: left;
  }
  .navbar-light .nav-link.nav-contact {
    margin-top: 10px;
    width: 100%;
    text-align: center;
    display: block;
    padding: 12px 20px;
    font-size: 18px;
    white-space: nowrap;
  }
}

/* ==========================================
   FOOTER
   ========================================== */

.footer-section {
  background-color: #fff; /* fondo blanco */
  padding: 30px 0;
  color: #000028; /* azul oscuro */
}

.footer-logo {
  height: 50px;
  width: auto;
  vertical-align: middle;
}

.footer-text {
  color: #000028; /* azul oscuro */
  font-size: 14px;
  margin: 0;
}

.footer-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #000028; /* círculo azul oscuro */
  color: #fff;               /* ícono blanco */
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin: 0 5px;
  font-size: 18px;
  transition: all 0.3s ease;
}

.footer-social:hover {
  background-color: #009AC9; /* azul claro en hover */
  color: #fff;
}

/* Responsive ajustes */
@media (max-width: 991.98px) {
  .footer-section {
    text-align: center;
  }

  /* Logos uno al lado del otro */
  .footer-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px; /* espacio entre logos */
    margin-bottom: 15px;
  }

  .footer-logo {
    height: 45px; /* más pequeño en móvil */
    margin: 0;
  }

  .footer-text {
    margin-bottom: 10px;
  }

  .footer-social {
    margin: 5px;
  }
}
/* ==========================================
   TIPOGRAFÍA GLOBAL: NUNITO
   ========================================== */

/* 1. Definición global para todo el cuerpo de la página */
body, 
p, 
span, 
a, 
li, 
button, 
input, 
textarea {
  font-family: 'Nunito', sans-serif !important;
}

/* 2. Definición para encabezados y títulos */
h1, h2, h3, h4, h5, h6,
.hero-main-title,
.cta1-title,
.condominio-title,
.step-title,
.equipo-main-title,
.faq-main-title,
.cta2-title {
  font-family: 'Nunito', sans-serif !important;
}

/* 3. Mantener estilo elegante en cursivas (opcional) */
/* Si deseas que las palabras en cursiva mantengan un toque serif elegante, mantén esta regla: */
.italic-text {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic;
}
/* O si prefieres que la cursiva TAMBIÉN sea Nunito, usa esta regla en su lugar: */
/*
.italic-text {
  font-family: 'Nunito', sans-serif !important;
  font-style: italic;
}
*/