/* Estilos personalizados */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Estilos para la sección Hero */
.hero-section {
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('images/carousel-2.jpg') no-repeat center center/cover;
    padding: 100px 0;
    overflow: hidden; /* Para que la imagen animada no desborde */
    position: relative;
}

.hero-image {
    position: absolute;
    bottom: 0;
    right: 0;
    max-width: 18%; /* Ajusta el tamaño de la imagen */
    height: auto;
    animation: slideInFromRight 1.5s ease-out; /* Animación */
}

/* Animación de desplazamiento desde la derecha */
@keyframes slideInFromRight {
    0% {
        transform: translateX(100%);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Si prefieres un efecto de desvanecimiento */
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* Aplicar la animación de desvanecimiento */
.animated-image.fade-in {
    animation: fadeIn 2s ease-in;
}

.services-section .card {
    height: 100%;
    transition: transform 0.3s;
}

/* Estilos para las tarjetas de servicios */
.services-section .card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s, box-shadow 0.3s;
}

.services-section .card:hover {
    transform: translateY(-10px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.services-section .card-img-top {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    height: 200px; /* Altura fija para el contenedor de la imagen */
    width: 100%; /* Asegura que la imagen ocupe todo el ancho de la tarjeta */
    object-fit: contain; /* Muestra la imagen completa sin recortes */
    background-color: #f8f9fa; /* Color de fondo para los espacios vacíos */
}

.services-section .card-body {
    padding: 20px;
}

.services-section .card-title {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.services-section .card-text {
    font-size: 1rem;
    color: #555;
}

.services-section .card:hover {
    transform: translateY(-10px);
}

.about-section {
    padding: 60px 0;
    background-color: #333; /* Fondo gris claro */
    color: #f8f9fa; /* Color de texto oscuro */
}

.about-section h2 {
    color: #f8f9fa; /* Color de título negro */
}

.about-section .lead {
    font-size: 1.25rem;
    font-weight: 400;
    margin-bottom: 20px;
    color: #f8f9fa; /* Color de texto gris oscuro */
}

.about-section p {
    color: #f8f9fa; /* Color de texto gris oscuro */
}

.about-section img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s, box-shadow 0.3s;
}

.about-section img:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.about-section .btn {
    margin-top: 20px;
    background-color: #f8f9fa; /* Color de fondo del botón */
    border-color: #f8f9fa; /* Color del borde del botón */
    color: #333; /* Color de texto del botón */
}

.about-section .btn:hover {
    background-color: #7c7c7c; /* Color de fondo del botón al pasar el ratón */
    border-color: #7c7c7c; /* Color del borde del botón al pasar el ratón */
}

.contact-section {
    background: #f8f9fa;
}

.contact-section .btn {
    margin-top: 20px;
    background-color: #7c7c7c; /* Color de fondo del botón */
    border-color: #7c7c7c; /* Color del borde del botón */
    color: #333; /* Color de texto del botón */
}

.contact-section .btn:hover {
    background-color: #f8f9fa; /* Color de fondo del botón al pasar el ratón */
    border-color: #333; /* Color del borde del botón al pasar el ratón */
}