/* Google Fonts */
body {
    font-family: 'Open Sans', sans-serif;
    line-height: 1.7;
    color: #58585A; /* GRIS ACTUALIZADO DEL LOGO */
}

h1, h2, h3, h4, h5, h6, .navbar-brand, .nav-link {
    font-family: 'Montserrat', sans-serif;
}

.fw-bold {
    font-weight: 700 !important;
}

/* Colores Personalizados Toolset */
.toolset-celeste-text {
    color: #00AEEF !important;
}
.toolset-celeste-bg {
    background-color: #00AEEF !important;
    border-color: #00AEEF !important;
    color: #fff !important;
}
.toolset-celeste-bg:hover, .toolset-celeste-bg:focus {
    background-color: #008cbf !important;
    border-color: #008cbf !important;
    color: #fff !important;
}

.btn-outline-light:hover, .btn-outline-light:focus {
    color: #333 !important; /* Para que el texto sea legible sobre blanco */
}


.toolset-celeste-outline {
    border-color: #00AEEF !important;
    color: #00AEEF !important;
}
.toolset-celeste-outline:hover, .toolset-celeste-outline:focus {
    background-color: #00AEEF !important;
    color: #fff !important;
}

/* Header */
.navbar-brand img {
    height: 50px;
}
.navbar .nav-link {
    font-weight: 500; /* Un poco más de peso para los links */
}
.navbar .nav-link.active {
    color: #00AEEF !important;
    font-weight: 700; /* Bold para el activo */
}
.dropdown-item.active, .dropdown-item:active {
    background-color: #00AEEF;
    color: white !important;
}
.dropdown-item:hover, .dropdown-item:focus {
    background-color: #e9ecef; /* Un gris claro para hover en dropdown */
    color: #00AEEF;
}


/* Hero Section */
.hero-section {
    background: url('../images/hero-background-placeholder.jpg') no-repeat center center;
    background-size: cover;
    min-height: 70vh;
    position: relative;
}
.hero-section::before { /* Overlay oscuro para legibilidad del texto */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.55); /* Un poco más oscuro el overlay */
}
.hero-section .container {
    position: relative;
    z-index: 2;
}
.hero-section h1 {
    text-shadow: 1px 1px 3px rgba(0,0,0,0.3); /* Sombra sutil para el H1 */
}


/* Títulos de Sección */
.section-title {
    color: #343a40; /* Un gris más oscuro estándar de Bootstrap */
    margin-bottom: 0.75rem; /* Un poco más de margen inferior */
    font-weight: 700;
}
.section-title.text-md-start::after { /* Alineación del subrayado para títulos a la izquierda en md+ */
    margin: 10px 0 0; /* Quita el auto margin horizontal */
}
.section-title::after { /* Pequeño subrayado decorativo */
    content: '';
    display: block;
    width: 70px; /* Un poco más largo */
    height: 4px; /* Un poco más grueso */
    background-color: #00AEEF;
    margin: 10px auto 0; /* Centrado por defecto */
}


/* Tarjetas de Beneficios y Niveles */
.benefit-card, .level-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: none; /* Quitar borde por defecto de card si Bootstrap lo añade */
    border-radius: 0.5rem; /* Bordes más redondeados */
}
.benefit-card:hover, .level-card:hover {
    transform: translateY(-8px); /* Un poco más de elevación */
    box-shadow: 0 10px 20px rgba(0,0,0,0.12) !important;
}
.level-card-img {
    height: 200px; /* Altura fija para imágenes de tarjeta de nivel */
    object-fit: cover; /* Para que la imagen cubra sin deformarse */
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

/* Sección Certificaciones */
.certification-logo {
    height: 70px;
    margin: 10px 15px;
    filter: grayscale(80%); /* Logos en escala de grises inicialmente */
    transition: filter 0.3s ease;
}
.certification-logo:hover {
    filter: grayscale(0%); /* Color al pasar el mouse */
}


/* Footer */
.footer-logo img {
    height: 40px;
    filter: brightness(0) invert(1); /* Para hacerlo blanco */
}
footer a {
    text-decoration: none; /* Quitar subrayado por defecto */
    transition: color 0.2s ease-in-out;
}
footer a:hover, footer a:focus {
    color: #00AEEF !important;
    text-decoration: none; /* Asegurar que no haya subrayado al hacer hover */
}
footer .list-inline-item a i {
    transition: transform 0.2s ease-in-out;
    font-size: 1.25rem; /* Iconos de redes un poco más grandes */
}
footer .list-inline-item a:hover i {
    transform: scale(1.2);
}


/* Botón Flotante de WhatsApp */
.whatsapp-float {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 30px; /* Un poco más arriba */
    right: 30px;
    background-color: #25D366;
    color: #FFF;
    border-radius: 50px;
    text-align: center;
    font-size: 28px; /* Ajustado para el icono */
    box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* Sombra más pronunciada */
    z-index: 1030; /* Asegurar que esté sobre otros elementos como el navbar sticky */
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.3s ease;
}
.whatsapp-float:hover {
    color: #FFF;
    background-color: #1DAE50;
    transform: scale(1.1); /* Efecto de zoom al pasar el mouse */
}


/* Ajustes Responsivos */
@media (max-width: 767.98px) { /* md breakpoint */
    .hero-section {
        min-height: 60vh;
    }
    .hero-section h1 {
        font-size: 2.25rem; /* Ajustar tamaño para móviles */
    }
    .hero-section .lead {
        font-size: 1.1rem;
    }
    .benefit-card h4 {
        font-size: 1.25rem;
    }
    .section-title.text-md-start::after { /* Asegurar centrado en móvil para títulos alineados a la izq en desktop */
      margin: 10px auto 0;
    }
    .certification-logo {
        height: 50px;
        margin: 5px 10px;
    }
}

@media (max-width: 575.98px) { /* sm breakpoint */
    .whatsapp-float {
        width: 50px;
        height: 50px;
        bottom: 20px;
        right: 20px;
        font-size: 22px;
    }
    .footer-logo img {
        height: 35px;
    }
    footer .list-inline-item a i {
        font-size: 1.1rem;
    }
}

/* Hero Section para Páginas Internas */
.page-hero-section {
    background: linear-gradient(rgba(0, 174, 239, 0.85), rgba(0, 120, 170, 0.9)), /* Hacemos el gradiente un poco más opaco */
                url('../images/hero-background-placeholder.jpg') no-repeat center center;
    background-color: #007bff; /* Un color de fondo celeste/azul de respaldo si la imagen no carga */
    background-size: cover;
    min-height: 40vh;
    color: #fff;
}

/* Tarjetas de Resumen de Nivel (para niveles.php) */
.level-overview-card {
    border: none;
    border-radius: 0.5rem; /* Mismos bordes que otras tarjetas */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden; /* Para que la imagen redondeada no se salga */
}

.level-overview-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.12) !important;
}

.level-overview-img {
    height: 100%; /* La imagen ocupa toda la altura de su contenedor (col-md-5) */
    width: 100%;   /* La imagen ocupa todo el ancho de su contenedor */
    object-fit: cover; /* Cubre el espacio sin deformarse */
}

.level-overview-card .card-body {
    padding: 1.5rem; /* Un poco más de padding */
}

.level-overview-card .card-title.h4 { /* Hacemos el título un poco más grande que el h5 de la homepage */
    margin-bottom: 0.25rem;
}

.level-overview-card .card-text.small {
    font-size: 0.85em;
    margin-bottom: 0.75rem;
}

/* Asegurar que en móvil las imágenes de las tarjetas de nivel se vean bien */
@media (max-width: 767.98px) { /* md breakpoint */
    .level-overview-img {
        height: 200px; /* Altura fija en móvil para la imagen */
        border-bottom-left-radius: 0; /* Quitar redondeo si la imagen va arriba */
        border-top-right-radius: 0.5rem; /* Mantener redondeo superior derecho si la tarjeta es vertical */
    }
    .level-overview-card .row > [class^="col-md-"] { /* Asegurar que las columnas tomen el ancho completo en móvil */
        flex-basis: 100%;
        max-width: 100%;
    }
}


.certification-entry .certification-logo-page {
    max-height: 80px; /* Ajusta según el tamaño de los logos */
    width: auto;
    /* filter: grayscale(100%); Ya lo teníamos en .certification-logo, pero podemos decidir si aquí lo queremos o no */
    /* transition: filter 0.3s ease; */
}
/* .certification-entry:hover .certification-logo-page {
    filter: grayscale(0%);
} */

.certification-entry h3 {
    margin-bottom: 0.75rem;
}

.certification-entry p {
    font-size: 0.95rem;
    margin-bottom: 0.75rem;
}
.certification-entry p strong {
    color: #343a40; /* Un poco más oscuro para el "Ideal para:" */
}

.certification-entry .btn-sm {
    font-size: 0.8rem;
    padding: 0.25rem 0.75rem;
}

/* Para la sección de Preparación en Toolset */
#certificaciones .fa-graduation-cap { /* Asumiendo que esta sección podría tener un ID si necesitamos estilos más específicos */
    font-size: 3rem; /* Si es fa-3x ya lo tiene, pero para asegurar */
}