        :root {
            --primary-color: #B47F41;
            --secondary-color: #333;
            --light-bg: #f9f9f9;
            --font-family: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            scroll-behavior: smooth;
        }

        body {
            font-family: var(--font-family);
            line-height: 1.6;
            color: var(--secondary-color);
            background-color: #fff;
        }

        /* Header and Navbar */
        .navbar {
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
        }
        .navbar-brand {
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--primary-color) !important;
        }
        .nav-link {
            color: var(--secondary-color) !important;
            font-weight: 400;
            transition: color 0.3s ease;
        }
        .nav-link:hover {
            color: var(--primary-color) !important;
        }
        .navbar-toggler {
            border-color: rgba(0,0,0,0.1) !important;
        }
        .navbar-toggler-icon {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28180, 127, 65, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
        }

        /* Carousel Styles */
        .carousel-container {
            position: relative;
            width: 100%;
            height: 75vh;
            overflow: hidden;
            margin-top: 0;
        }

        .carousel-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
            color: #fff;
            background-size: cover;
            background-position: center;
            opacity: 0;
            transition: opacity 1s ease-in-out;
            z-index: 1;
        }
        
        .carousel-slide.active {
            opacity: 1;
            z-index: 2;
        }

        .slide-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            z-index: 3;
        }
        
        .carousel-content {
            position: relative;
            z-index: 4;
            padding: 0 1rem;
        }

        .carousel-content h1 {
            font-size: 3rem;
            margin-bottom: 1rem;
        }

        .carousel-content p {
            font-size: 1.2rem;
            max-width: 600px;
            margin: 0 auto;
        }

        /* End Carousel Styles */

        section {
            padding: 5rem 5%;
        }

        section:nth-child(even) {
            background-color: white;/*por ahora*/
        }

        h2 {
            font-size: 2.5rem;
            text-align: center;
            margin-bottom: 3rem;
            color: var(--primary-color);
        }
        
        .card {
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
            border: none;
            transition: transform 0.3s ease;
        }
        .card:hover {
            transform: translateY(-5px);
        }
        .card-body h3 {
            color: var(--primary-color);
        }

        .service-item i {
            font-size: 3rem;
            color: var(--primary-color);
            margin-bottom: 1rem;
        }
        
        .team-member img {
            width: 150px;
            height: 150px;
            border-radius: 50%;
            object-fit: cover;
            margin-bottom: 1rem;
            /* Nuevas propiedades para responsividad */
            max-width: 100%;
            height: auto;
        }

        .faq-item {
            border-bottom: 1px solid #ddd;
            margin-bottom: 1rem;
        }

        .faq-question {
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            padding: 1rem 0;
            font-weight: 600;
            color: var(--primary-color);
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
            padding: 0 1rem;
        }

        .faq-answer p {
            padding-bottom: 1rem;
        }

        .faq-item.active .faq-answer {
            max-height: 200px; /* Adjust as needed */
        }
        .faq-item.active .faq-question i {
            transform: rotate(180deg);
        }

        .map-container iframe {
            width: 100%;
            height: 500px;
            border: 0;
        }

        footer {
            background-color: var(--secondary-color);
            color: #fff;
            text-align: center;
            padding: 2rem 5%;
        }

        .social-links a {
            color: #fff;
            font-size: 1.5rem;
            margin: 0 0.5rem;
            transition: color 0.3s ease;
        }

        .social-links a:hover {
            color: var(--primary-color);
        }

        @media (max-width: 768px) {
            .carousel-content h1 {
                font-size: 2rem;
            }
            .carousel-container {
                height: 60vh;
            }
            section {
                padding: 3rem 5%;
            }
        }

#why-us {
    position: relative;
    color: #fff; /* Asegura que el texto sea blanco sobre la imagen oscura */
    padding: 5rem 5%;
}

#why-us .section-overlay {
    background-color: rgba(0, 0, 0, 0.7); /* Oscurece la imagen para mayor legibilidad */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

#why-us .container, #why-us h2 {
    position: relative;
    z-index: 2; /* Mantiene el contenido por encima del overlay */
}

#why-us .card {
    background-color: rgba(255, 255, 255, 0.9); /* Hace las tarjetas semi-transparentes */
    color: var(--secondary-color);
}

.parallax {
  /* The image used */
  background-image: url("https://images.pexels.com/photos/53621/calculator-calculation-insurance-finance-53621.jpeg");

  /* Set a specific height */
  min-height: 500px; 

  /* Create the parallax scrolling effect */
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#team .card img {
    width: 150px; /* Tamaño más pequeño para la imagen */
    height: 150px;
    object-fit: cover; /* Para que la imagen no se distorsione */
    border-radius: 50%; /* Da una forma circular a las fotos */
    margin-bottom: 1rem;
}

h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5
 {
    font-family: "Jost", sans-serif;
    color: #000;
}

h2, .h2 {
    font-size: 2rem;
}

#team .card {
    padding: 1.5rem; /* Menos padding para hacer el cuadro más pequeño */
}

.section-title {
    position: relative;
    padding-bottom: 10px; /* Espacio para la línea */
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px; /* Ancho de la línea */
    height: 3px; /* Grosor de la línea */
    background-color: #C2E54F; /* Color verde */
}

.sticky-whatsapp {
  position: fixed;
  left: 20px;
  bottom: 20px;
  height: 60px;
  width: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #50c100;
  border-radius: 30px;
}
.sticky-whatsapp:hover {
  background: #337405;
}
.sticky-whatsapp i {
  font-size: 30px;
  color: #fff;
}

.contact-form .form-control {
    border: none;
    border-bottom: 1px solid #ccc;
    padding: 0.5rem 0;
    margin-bottom: 1.5rem;
    border-radius: 0;
    background-color: transparent; /* Fondo transparente */
}

.contact-form .form-control:focus {
    outline: none;
    border-bottom-color: var(--primary-color); /* Color primario al enfocar */
    box-shadow: none;
}

.contact-form .form-label {
    font-size: 0.9rem;
    color: #777;
    margin-bottom: 0.2rem;
}

.contact-form .btn-submit {
    background-color: transparent;
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: 0;
    padding: 0.75rem 1.5rem;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.contact-form .btn-submit:hover {
    background-color: var(--primary-color);
    color: white;
}

/* Opcional: Eliminar el margen inferior del último elemento */
.contact-form > div:last-child .form-control,
.contact-form > div:last-child textarea {
    margin-bottom: 0;
}

/* Estilo para el formulario */
.contact-form .form-control {
    border: none;
    border-bottom: 1px solid #ccc; /* Línea sutil en la parte inferior */
    padding: 0.5rem 0;
    margin-bottom: 2rem; /* Espacio entre los campos */
    background-color: transparent; /* Fondo transparente */
    border-radius: 0;
}
.contact-form .form-control:focus {
    outline: none;
    border-bottom-color: #555; /* Color más oscuro al enfocar */
    box-shadow: none;
}
.contact-form .form-label {
    display: none; /* Oculta las etiquetas */
}

.contact-form .btn {
    border: 1px solid #333;
    background-color: transparent;
    color: #333;
    padding: 0.75rem 2.5rem;
    font-weight: bold;
    border-radius: 0;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.contact-form .btn:hover {
    background-color: #333;
    color: #fff;
}

/* Estilo para el pie de página */
.footer {
    padding-top: 4rem;
    padding-bottom: 2rem;
    color: #555;
}
.footer-title {
    color: #333;
    font-size: 1.1rem;
    margin-bottom: 30px;

}
.footer .list-unstyled a {
    color: #555;
    text-decoration: none;
}
.footer .list-unstyled a:hover {
    color: #333;
}
.footer .social-circle {
    color: #555;
    font-size: 1.25rem;
    margin-right: 15px;
}
.footer .social-circle:hover {
    color: #333;
}

.info-bar {
    margin-top: 60px; /* Ajusta este valor para que coincida con la altura de tu menú */
    background-color: #f0f0f0;
    padding: 10px 0;
    text-align: center;
}

.info-bar p {
    color: #333;
    margin: 0;
}

.logo-link {
    display: block;
    transition: transform 0.3s ease;
}

.logo-link:hover {
    transform: scale(1.1); /* Agranda el logo al pasar el cursor */
}

/* Opcional: Si los logos no tienen la misma altura, puedes establecer una altura máxima */
.logo-link img {
    max-height: 80px; /* Ajusta este valor si es necesario */
    width: auto;
}

/* --- ESTILOS ESPECÍFICOS DE PROPIEDADES --- */
        
.propiedades-header {
    padding-bottom: 2rem;
}

.filter-buttons .btn {
    border-radius: 50rem;
    margin: 0.25rem;
    transition: all 0.3s ease;
    font-weight: 500;
}

.filter-buttons .btn.active,
.filter-buttons .btn:hover {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: white;
}

/* Estilo para las tarjetas de propiedad */
.property-card {
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}

.property-card:hover {
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
}

.property-image-container {
    height: 250px;
    overflow: hidden;
    position: relative;
}

.property-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.property-details {
    padding: 1.5rem;
}

.property-price {
    font-size: 1.5rem;
    color: var(--primary-color);
    font-weight: 700;
}

/* Estilo para el modal de zoom */
.carousel-item img {
    max-height: 80vh;
    width: auto;
    object-fit: contain;
    margin: auto;
}