/* -------------------------------------- */
/* CABECERA DE PÁGINA (AZUL) */
/* -------------------------------------- */

.cabecera-pagina {
    width: 100%;
    /* Altura definida: puedes ajustarla */
    height: 250px; 
    
    /* Usamos el azul principal */
    background-color: #19477B;
    
    /* Aseguramos que esté debajo de la barra de navegación fija */
    margin-top: 70px; 
    
    /* Propiedades para centrar el contenido (si se añade texto) */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Estilos para el texto de la cabecera */
.contenido-cabecera {
    /* Contenedor para el texto */
    max-width: 620px; /* ANCHO AJUSTADO */
    text-align: center;
    padding: 0 20px;
    color: #FFFFFF; /* Texto siempre en blanco para contraste */
}

.titulo-pagina {
    /* Título principal: Bold (700) */
    font-family: 'Inter', sans-serif;
    font-weight: 700; 
    font-size: 2.5em; /* Tamaño grande */
    margin-bottom: 10px;
}

.descripcion-pagina {
    /* Cuerpo de texto: Regular (400) */
    font-family: 'Inter', sans-serif;
    font-weight: 400; 
    font-size: 1.0em; /* TAMAÑO AJUSTADO */
    opacity: 0.9; /* Ligeramente más suave que el título */
    margin-bottom: 0;
}

/* -------------------------------------- */
/* CONTENEDOR GRIS (BACKGROUND DE EXTREMO A EXTREMO) */
/* -------------------------------------- */

.container-1000px-gris {
    width: 100%; /* Asegura que tome todo el ancho */
    /* Fondo gris claro */
    background-color: #f4f4f4; /* Un gris muy claro */
    /* Altura de 1000px solicitada */
    min-height: 1000px;
    box-sizing: border-box; 
    /* El padding se mueve a la clase de contenido */
}

/* -------------------------------------- */
/* CONTENIDO DENTRO DEL CONTENEDOR GRIS (LIMITA EL ANCHO) */
/* -------------------------------------- */
.contenido-principal {
    /* Relleno para que el contenido no toque los bordes */
    padding: 40px 20px;
    /* Limita el ancho del contenido interno para mejor lectura */
    max-width: 1200px;
    margin: 0 auto; /* Centra el contenido */
}

/* Título principal del grid (Nuevo) */
.grid-title {
    font-family: 'Inter', sans-serif;
    font-weight: 700; /* Bold (700) para títulos principales */
    font-size: 2.2em;
    color: #19477B; /* Azul corporativo */
    margin-bottom: 30px;
    text-align: center; /* Centrado en relación al contenedor principal */
}

/* -------------------------------------- */
/* GRID DE SERVICIOS (2 FILAS, 3 COLUMNAS) */
/* -------------------------------------- */



.servicios-grid {
    display: grid;
    /* 3 columnas de igual ancho y espacio */
    grid-template-columns: repeat(3, 1fr);
    /* Espacio entre las tarjetas */
    gap: 30px; 
    padding: 30px 0;
}

.tarjeta-servicio {
    /* Estilos de la tarjeta individual */
    background-color: #ffffff; /* Fondo blanco */
    border-radius: 10px; /* Puntas redondeadas a 10px */
    border-top: 5px solid #d76f00;
    /* Aumento de padding vertical en 40% (42px) */
    padding: 42px 30px; 
    text-align: center;
    /* Convertimos el div en un enlace visualmente */
    text-decoration: none;
    cursor: pointer;
    /* Altura mínima ajustada */
    min-height: 350px; 
    /* Sombra de bajo */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); 
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%; 
    display: flex;
    flex-direction: column;
    /* Centra el contenido verticalmente */
    justify-content: center; 
    align-items: center;
}

.tarjeta-servicio:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.servicio-icono {
    font-size: 3em;
    color: #19477B; /* Color azul corporativo para los iconos */
    margin-bottom: 15px;
}

.servicio-titulo {
    font-family: 'Inter', sans-serif;
    font-weight: 600; /* SemiBold (600) para subtítulos (título de tarjeta) */
    font-size: 1.2em;
    color: #d76f00; /* Naranja corporativo */
    margin-bottom: 10px;
}

.servicio-resumen {
    font-family: 'Inter', sans-serif;
    font-weight: 400; /* Regular (400) para cuerpo de texto */
    font-size: 0.9em;
    color: #555;
    margin-bottom: 10px; 
    line-height: 1.5;
}

/* -------------------------------------- */
/* DETALLE DE SERVICIO (Nuevo) */
/* -------------------------------------- */

.detalle-servicio-content {
    background-color: #ffffff;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    margin-bottom: 40px;
}

/* Estilos para el título principal del detalle */
.detalle-servicio-content h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 700; /* Bold (700) */
    font-size: 1.7em;
    color: #19477B; /* Azul corporativo */
    margin-bottom: 15px;
    text-align: center; /* Centrado en el contenedor */
}

/* Estilos para los subtítulos del detalle (si los hay) */
.detalle-servicio-content h3, 
.detalle-servicio-content h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 600; /* SemiBold (600) */
    font-size: 1.1em;
    color: #d76f00; /* Naranja corporativo */
    margin-top: 30px;
    margin-bottom: 15px;
    text-align: left; /* Alineado a la izquierda */
}

/* Estilos para el cuerpo de texto del detalle */
.detalle-servicio-content p,
.detalle-servicio-content ul,
.detalle-servicio-content li {
    font-family: 'Inter', sans-serif;
    font-weight: 400; /* Regular (400) */
    font-size: .9em;
    color: #333333; /* Negro */
    line-height: 1.7;
    margin-bottom: 20px;
    text-align: left; /* Alineado a la izquierda */
}

.detalle-servicio-content ul {
    list-style-type: disc;
    padding-left: 40px;
}
.detalle-servicio-content li {
    margin-bottom: 10px;
}

/* Botón de regreso */
.btn-regresar {
    background-color: #19477B; /* Azul corporativo */
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    display: inline-flex;
    align-items: center;
    margin-bottom: 20px;
    border: none;
    cursor: pointer;
}

.btn-regresar:hover {
    background-color: #14355e;
}

.btn-regresar i {
    margin-right: 10px;
}


/* -------------------------------------- */
/* CONTENEDOR INFERIOR DE SERVICIOS */
/* -------------------------------------- */
.contenedor-inferior-servicios {
    /* Ancho: Toma el 100% del contenedor padre (.contenido-principal) */
    width: 100%;
    /* Altura: La mitad de 350px (175px) */
    height: 175px; 
    /* Fondo y sombra */
    background-color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    margin-top: 30px; /* Espacio entre el grid y este contenedor */
    
    /* Centrar contenido y distribuir */
    display: flex;
    justify-content: space-between; /* Distribuye espacio entre el texto y el botón */
    align-items: center; /* Centra verticalmente los elementos */
    text-align: left; /* Alineación del texto del contenedor principal */
    padding: 0 40px; /* Relleno lateral */
}

/* Contenedor del texto para manejar el ancho */
.llamado-texto-contenedor {
    /* Permite que el texto ocupe el espacio restante */
    flex-grow: 1; 
    /* Limita el ancho máximo para que no empuje demasiado al botón */
    max-width: 70%; 
}

.llamado-titulo {
    font-family: 'Inter', sans-serif;
    font-size: 1.6em;
    color: #19477B; /* Azul corporativo */
    font-weight: 700;
    margin: 0 0 8px 0; /* Espaciado debajo del título */
}

.llamado-descripcion {
    font-family: 'Inter', sans-serif;
    font-size: 1.1em;
    color: #555;
    font-weight: 400;
    margin: 0;
}

/* Estilos del nuevo botón de Contacto */
.boton-contacto-inferior {
    /* Color de fondo naranja usado en el border-top */
    background-color: #d76f00; 
    color: #ffffff; /* Texto blanco */
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    text-decoration: none; /* Quitar el subrayado del enlace */
    padding: 15px 30px;
    font-size: 1em;
    /* Bordes completamente redondeados */
    border-radius: 9999px; 
    transition: background-color 0.3s ease;
    /* Aseguramos que no se encoja */
    flex-shrink: 0; 
}

/* Efecto hover: Naranja un poco más oscuro */
.boton-contacto-inferior:hover {
    background-color: #b75e00; /* Un tono más oscuro de #d76f00 */
}


/* Responsive adjustment */
@media (max-width: 992px) {
    .servicios-grid {
        /* En tabletas, pasamos a 2 columnas */
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .contenedor-inferior-servicios {
        flex-direction: column; /* Apila el texto y el botón en móvil */
        height: auto; /* Altura automática */
        padding: 30px 20px;
        text-align: center;
    }

    .llamado-texto-contenedor {
        margin-bottom: 20px;
        max-width: 100%;
    }

    .boton-contacto-inferior {
        width: 100%; /* Botón de ancho completo en móvil */
        display: block;
    }
}

@media (max-width: 600px) {
    .servicios-grid {
        /* En móviles, pasamos a 1 columna */
        grid-template-columns: 1fr;
        padding: 10px 0;
    }
    .detalle-servicio-content {
        padding: 20px;
    }
    .detalle-servicio-content h2 {
        font-size: 1.8em;
    }
}