/* --- Estilos Globales y Generales --- */
body {
    margin: 0;
    font-family: 'Source Sans Pro', sans-serif; /* Fuente más común */
    color: #231F20; /* Color de texto principal */
    line-height: 1.6;
}

.container {
    max-width: 1200px; /* Ancho máximo del contenido */
    margin: 0 auto; /* Centra el contenedor */
    padding: 0 20px; /* Espaciado interno en los lados */
}

/* --- Encabezado (Header) --- */
header {
    background-color: #ffffff; /* Fondo blanco */
    padding: 20px 0;
    border-bottom: 1px solid #eee; /* Línea sutil debajo del encabezado */
}

.header-content {
    display: flex; /* Organiza el contenido en fila */
    justify-content: space-between; /* Espacio entre logo y nav */
    align-items: center; /* Centra verticalmente */
}

.logo {
    font-size: 2em;
    font-weight: bold;
    color: #231F20; /* Color del logo */
    text-decoration: none; /* Quita el subrayado del enlace */
}

nav ul {
    list-style: none; /* Quita los puntos de la lista */
    padding: 0;
    margin: 0;
    display: flex; /* Organiza los elementos del menú en fila */
}

nav li {
    margin-left: 20px; /* Espacio entre elementos del menú */
}

nav a {
    text-decoration: none; /* Quita el subrayado de los enlaces */
    color: #231F20; /* Color de los enlaces */
    font-weight: bold;
    font-size: 1.1em;
    transition: color 0.3s ease; /* Transición suave para el color */
}

nav a:hover {
    color: #007bff; /* Cambia de color al pasar el ratón */
}

/* --- Sección Principal (Hero) --- */
.hero {
    position: relative; /* Permite posicionar elementos hijos de forma absoluta dentro */
    color: white; /* Color del texto sobre la imagen de fondo */
    text-align: center;
    padding: 100px 0; /* Espaciado interno, ajusta según necesites */
    overflow: hidden; /* Esconde partes de la imagen que se salgan */
}

.hero-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('fondo_image.jpg'); /* ¡Asegúrate que esta ruta sea correcta! */
    background-size: cover; /* La imagen cubrirá todo el espacio */
    background-position: center; /* Centra la imagen */
    background-repeat: no-repeat;
    z-index: 1; /* Asegura que la imagen esté detrás del contenido */
    /* Puedes añadir un overlay oscuro si la imagen es muy clara */
    /* background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('fondo_image.jpg'); */
}

.hero-content {
    position: relative;
    z-index: 2; /* Asegura que el contenido esté encima de la imagen de fondo */
    color: white; /* Asegura que el texto sea blanco sobre la imagen */
}

.hero h1 {
    font-size: 3em; /* Tamaño grande para el título principal */
    margin-bottom: 10px; /* Espacio entre h1 y h2 */
    color: white; /* Asegura que todo el texto en el hero sea blanco */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* Sombra para que el texto resalte */
}

.hero h2 {
    font-size: 2em; /* Tamaño grande para el subtítulo */
    margin-bottom: 20px;
    color: white; /* Asegura que todo el texto en el hero sea blanco */
    font-weight: normal;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* Sombra para que el texto resalte */
}

.hero p {
    font-size: 1.2em;
    color: white; /* Asegura que todo el texto en el hero sea blanco */
    max-width: 800px; /* Ancho máximo del párrafo */
    margin: 0 auto 30px auto; /* Centra el párrafo y añade espacio abajo */
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); /* Sombra para que el texto resalte */
}


/* --- Sección de Servicios (Módulos) --- */
.services-section {
    padding: 60px 0;
    text-align: center;
}

.services-section h2 {
    font-size: 2em;
    margin-bottom: 40px;
    color: #231F20;
}

.services-grid {
    display: grid; /* Usa CSS Grid para el diseño en columnas */
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Columnas responsivas */
    gap: 30px; /* Espacio entre los elementos de la cuadrícula */
}

.service-item {
    background-color: #ffffff; /* Fondo blanco para cada item */
    padding: 20px;
    border: 1px solid #eee;
    border-radius: 8px; /* Bordes redondeados */
    text-align: center;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1); /* Sombra sutil */
    display: flex; /* Para centrar contenido verticalmente si es necesario */
    flex-direction: column; /* Organiza el contenido en columna */
    justify-content: center; /* Centra verticalmente */
    align-items: center; /* Centra horizontalmente */
}

.service-item h3 {
    font-size: 1.5em;
    margin-top: 0;
    margin-bottom: 5px; /* Espacio entre título y párrafo */
    color: #231F20;
}

.service-item p {
    font-size: 1em;
    color: #555;
    margin: 0; /* Elimina el margen por defecto del párrafo */
}

/* Estilos para los Iconos de Imagen en la Sección de Servicios */
.service-icon {
    width: 50px; /* Tamaño del icono, ajusta según necesites */
    height: 50px; /* Tamaño del icono, ajusta según necesites */
    margin-bottom: 15px; /* Espacio entre el icono y el título */
}

/* Estilos para el "icono" de texto CRM */
.crm-text-icon {
    display: flex; /* Usar flexbox para centrar contenido */
    justify-content: center; /* Centrar horizontalmente */
    align-items: center; /* Centrar verticalmente */
    width: 80px; /* Ancho del "icono", ajusta según necesites */
    height: 80px; /* Alto del "icono", para que sea un cuadrado */
    background-color: #007bff; /* Color de fondo azul, similar al de tu logo */
    color: white; /* Color del texto "CRM" */
    font-size: 2em; /* Tamaño de fuente para "CRM" */
    font-weight: bold; /* Negrita para el texto */
    border-radius: 15px; /* Bordes ligeramente redondeados, ajusta si quieres más o menos */
    margin-bottom: 15px; /* Espacio debajo del "icono" de CRM */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra para darle profundidad */
}


/* --- Sección de Prueba Gratis (Free Trial CTA) --- */
.free-trial-call-to-action {
    text-align: center;
    margin-top: 50px;
    padding: 20px; /* Reducido a 20px */
    background-color: #ffffff; /* Fondo blanco */
    border: 1px solid #eee; /* Borde suave */
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); /* Sombra más suave */
}

.free-trial-call-to-action p {
    font-size: 1.2em; /* Reducido a 1.2em */
    color: #333;
    margin-bottom: 8px; /* Menos margen inferior */
}

.free-trial-call-to-action a {
    font-size: 1em; /* Reducido a 1em */
    color: #007bff;
    text-decoration: underline;
    font-weight: bold;
}

.free-trial-call-to-action a:hover {
    color: #0056b3;
    text-decoration: none;
}


/* --- Estilos Específicos para la Página de Servicios (soluciones.html) --- */
.page-title-section {
    background-color: #f8f8f8; /* Fondo ligero para la sección del título */
    padding: 60px 0 30px 0; /* Espaciado superior e inferior, menos abajo */
    text-align: center;
    border-bottom: 1px solid #eee; /* Línea separadora */
}

.page-title-section h1 {
    font-size: 2.8em;
    color: #231F20;
    margin-bottom: 15px;
}

.page-title-section p {
    font-size: 1.1em;
    color: #666;
    max-width: 800px;
    margin: 0 auto;
}

.services-list-section {
    padding: 60px 0; /* Espaciado superior e inferior */
}

.service-item-detailed {
    background-color: #ffffff; /* Fondo blanco para cada bloque de servicio */
    padding: 30px; /* Espaciado interno */
    margin-bottom: 30px; /* Espacio entre cada bloque de servicio */
    border: 1px solid #eee; /* Borde sutil */
    border-radius: 8px; /* Bordes redondeados */
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.05); /* Sombra ligera */
}

.service-item-detailed h3 {
    font-size: 1.8em; /* Tamaño del título del servicio */
    color: #231F20; /* Color del título */
    margin-top: 0; /* Elimina el margen superior por defecto */
    margin-bottom: 15px; /* Espacio debajo del título */
    border-bottom: 2px solid #f0f0f0; /* Línea debajo del título */
    padding-bottom: 10px; /* Espacio entre el título y la línea */
}

.service-item-detailed p {
    font-size: 1.1em; /* Tamaño del texto de la descripción */
    color: #555; /* Color del texto */
    margin-bottom: 0; /* Elimina el margen inferior del último párrafo */
}

/* Estilos para la sección de llamada a la acción al final de los servicios */
.service-cta {
    text-align: center; /* Centra el texto */
    margin-top: 40px; /* Espacio superior */
    padding: 30px;
    background-color: #f9f9f9; /* Un fondo ligeramente diferente */
    border-left: 5px solid #007bff; /* Una barra de color en el lado izquierdo */
    border-radius: 8px;
}

.service-cta p {
    font-size: 1.3em;
    color: #333;
    margin-bottom: 15px;
}

.service-cta strong {
    color: #231F20; /* Color más oscuro para el texto en negrita */
}


/* --- Estilos Específicos para la Página de Casos de Éxito (casos_de_exito.html) --- */
.case-studies-section {
    padding: 60px 0; /* Espaciado superior e inferior */
}

.case-study-item {
    background-color: #ffffff; /* Fondo blanco */
    padding: 30px; /* Espaciado interno */
    margin-bottom: 30px; /* Espacio entre cada caso de estudio */
    border: 1px solid #eee; /* Borde sutil */
    border-radius: 8px; /* Bordes redondeados */
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.05); /* Sombra ligera */
}

.case-study-item h2 {
    font-size: 2em; /* Tamaño del nombre del cliente */
    color: #007bff; /* Un color que destaque el nombre del cliente */
    margin-top: 0;
    margin-bottom: 10px; /* Espacio debajo del nombre */
}

.case-study-item p {
    font-size: 1.1em; /* Tamaño del texto de la descripción */
    color: #555; /* Color del texto */
    margin-bottom: 15px; /* Espacio entre párrafos */
}

.case-study-item p:last-child {
    margin-bottom: 0; /* Elimina el margen inferior del último párrafo en el item */
}

.case-study-item a {
    color: #007bff; /* Color para los enlaces */
    text-decoration: none; /* Sin subrayado por defecto */
    font-weight: bold;
}

.case-study-item a:hover {
    text-decoration: underline; /* Subrayado al pasar el ratón */
}

/* Estilos para los Logos de Clientes en Casos de Éxito */
.client-logo {
    max-width: 250px; /* Ancho máximo del logo */
    height: auto; /* Mantiene la proporción de la imagen */
    margin-bottom: 15px; /* Espacio entre el logo y el título */
    margin-right: 20px; /* Espacio a la derecha si quieres que el texto lo rodee */
    float: left; /* Hace que el texto fluya alrededor de la imagen */
}

/* Limpieza de floats si se usa float: left; en .client-logo */
.case-study-item::after {
    content: "";
    display: table;
    clear: both;
}


/* --- Pie de Página (Footer) --- */
footer {
    background-color: #231F20; /* Fondo oscuro */
    color: #ffffff; /* Texto blanco */
    text-align: center; /* Centra el texto */
    padding: 50px 0; /* Más espacio interno */
    margin-top: 60px; /* Más espacio por encima del footer */
}

footer p {
    margin: 0;
    font-size: 1em; /* Tamaño base para el texto de derechos de autor */
}

.contact-info {
    margin-top: 15px;
    font-size: 1.1em; /* Un poco más grande para ser legible */
    line-height: 1.8;
}


/* --- Media Queries para Responsividad General --- */
@media (max-width: 768px) {
    .header-content {
        flex-direction: column;
        text-align: center;
    }

    .logo {
        margin-bottom: 15px;
    }

    nav ul {
        margin-top: 0;
        flex-direction: column;
        align-items: center;
    }

    nav li {
        margin: 5px 0;
    }

    .hero {
        padding: 60px 0;
    }

    .hero h1 {
        font-size: 2.5em;
    }

    .hero h2 {
        font-size: 1.8em;
    }

    .services-grid {
        grid-template-columns: 1fr;
    }

    .services-section h2 {
        font-size: 1.8em;
    }

    .service-icon {
        width: 40px;
        height: 40px;
    }

    .crm-text-icon {
        width: 60px;
        height: 60px;
        font-size: 1.5em;
        border-radius: 10px;
    }

    .free-trial-call-to-action {
        padding: 15px; /* Reducido a 15px en móviles */
        margin-top: 30px;
    }
    .free-trial-call-to-action p {
        font-size: 1em; /* Reducido a 1em en móviles */
    }
    .free-trial-call-to-action a {
        font-size: 0.9em; /* Reducido a 0.9em en móviles */
    }

    .service-item-detailed {
        padding: 20px;
    }

    .service-item-detailed h3 {
        font-size: 1.5em;
    }

    .service-item-detailed p {
        font-size: 1em;
    }

    .service-cta p {
        font-size: 1.1em;
    }

    .case-study-item {
        padding: 20px;
    }

    .case-study-item h2 {
        font-size: 1.8em;
    }

    .case-study-item p {
        font-size: 1em;
    }

    .client-logo {
        max-width: 80px;
        margin-right: 10px;
    }
    .case-study-item h2 {
        margin-top: 0;
    }

    footer {
        padding: 40px 0;
    }
    .contact-info {
        font-size: 1em;
    }
}