/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-a6is0u0hjj] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-a6is0u0hjj] {
    flex: 1;
}

/* Ya no usamos sidebar para el header principal; mantener clase disponible si se precisa */
.sidebar[b-a6is0u0hjj] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-a6is0u0hjj] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-a6is0u0hjj]  a, .top-row[b-a6is0u0hjj]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-a6is0u0hjj]  a:hover, .top-row[b-a6is0u0hjj]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-a6is0u0hjj]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-a6is0u0hjj] {
        justify-content: space-between;
    }

    .top-row[b-a6is0u0hjj]  a, .top-row[b-a6is0u0hjj]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-a6is0u0hjj] {
        /* En desktop dejamos que el contenido ocupe todo el ancho bajo el header */
        flex-direction: column;
    }

    .top-row[b-a6is0u0hjj] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row[b-a6is0u0hjj], article[b-a6is0u0hjj] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-a6is0u0hjj] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-a6is0u0hjj] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-h6ed3xdy3g] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-h6ed3xdy3g] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-h6ed3xdy3g] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-h6ed3xdy3g] {
    font-size: 1.1rem;
}

.bi[b-h6ed3xdy3g] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-h6ed3xdy3g] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-h6ed3xdy3g] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-h6ed3xdy3g] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-h6ed3xdy3g] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-h6ed3xdy3g] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-h6ed3xdy3g] {
        padding-bottom: 1rem;
    }

    .nav-item[b-h6ed3xdy3g]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-h6ed3xdy3g]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-h6ed3xdy3g]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-h6ed3xdy3g] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-h6ed3xdy3g] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-h6ed3xdy3g] {
        display: none;
    }

    .nav-scrollable[b-h6ed3xdy3g] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-kyc2bf0un7],
.components-reconnect-repeated-attempt-visible[b-kyc2bf0un7],
.components-reconnect-failed-visible[b-kyc2bf0un7],
.components-pause-visible[b-kyc2bf0un7],
.components-resume-failed-visible[b-kyc2bf0un7],
.components-rejoining-animation[b-kyc2bf0un7] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-kyc2bf0un7],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-kyc2bf0un7],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-kyc2bf0un7],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-kyc2bf0un7],
#components-reconnect-modal.components-reconnect-retrying[b-kyc2bf0un7],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-kyc2bf0un7],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-kyc2bf0un7],
#components-reconnect-modal.components-reconnect-failed[b-kyc2bf0un7],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-kyc2bf0un7] {
    display: block;
}


#components-reconnect-modal[b-kyc2bf0un7] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-kyc2bf0un7 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-kyc2bf0un7 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-kyc2bf0un7 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-kyc2bf0un7]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-kyc2bf0un7 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-kyc2bf0un7 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-kyc2bf0un7 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-kyc2bf0un7 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-kyc2bf0un7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-kyc2bf0un7] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-kyc2bf0un7] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-kyc2bf0un7] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-kyc2bf0un7] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-kyc2bf0un7] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-kyc2bf0un7] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-kyc2bf0un7 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-kyc2bf0un7] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-kyc2bf0un7 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/ConsultoriaTI.razor.rz.scp.css */
/* --- HERO BANNER DE BIENVENIDA --- */
.hero-banner-consultoria[b-xizfb4jbzr] {
    min-height: 40vh;
    background: linear-gradient(180deg, rgba(15,23,42,0.85) 0%, rgba(15,23,42,0.95) 100%), url('/images/Tecnologia 6.jpg') center/cover no-repeat;
}

.text-shadow[b-xizfb4jbzr] {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.max-w-2xl[b-xizfb4jbzr] {
    max-width: 42rem;
}

/* --- SECCIÓN PRINCIPAL Y TEXTOS --- */
.text-filosofia[b-xizfb4jbzr] {
    color: #212529 !important;
}

.text-destacado-dark[b-xizfb4jbzr] {
    color: #0f172a !important;
}

.titulo-fases[b-xizfb4jbzr] {
    color: #0f172a !important;
}
.titulo-servicios[b-xizfb4jbzr] {
    color: #0099ff !important;
    font-size: 1.25rem;
    letter-spacing: 0.5px;
}
/* --- TARJETAS DE LOS PILARES --- */
.card-pilar-title[b-xizfb4jbzr] {
    color: #0f172a !important;
    font-size: 1.85rem;
}

.list-item-pilar[b-xizfb4jbzr] {
    color: #374151 !important;
    font-size: 1.05rem;
}

.rombo-viñeta[b-xizfb4jbzr] {
    color: #3b82f6 !important;
}

/* --- BADGES PERSONALIZADOS --- */
.badge-estrategia[b-xizfb4jbzr] {
    background-color: #e0f2fe !important;
    color: #0369a1 !important;
    font-size: 0.85rem;
}

.badge-talento[b-xizfb4jbzr] {
    background-color: #d1fae5 !important;
    color: #065f46 !important;
    font-size: 0.85rem;
}

.linea-decorativa[b-xizfb4jbzr] {
    width: 60px;
    height: 4px;
}

/* --- DISEÑO DEL CARRUSEL --- */
.contenedor-carrusel-max[b-xizfb4jbzr] {
    max-width: 800px;
    width: 100%;
}

.img-carrusel[b-xizfb4jbzr] {
    height: 400px;
    object-fit: cover;
    width: 100%;
}

.contenedor-texto-carrusel[b-xizfb4jbzr] {
    min-height: 100px;
}

#miCarrusel[b-xizfb4jbzr] {
    position: relative !important;
}

    #miCarrusel .carousel-control-prev[b-xizfb4jbzr],
    #miCarrusel .carousel-control-next[b-xizfb4jbzr] {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 45px !important;
        height: 45px !important;
        top: 50% !important;
        margin-top: -50px !important;
        bottom: auto !important;
        background-color: transparent !important;
        opacity: 0.7 !important;
        z-index: 10 !important;
    }

    #miCarrusel .carousel-control-prev[b-xizfb4jbzr] {
        left: -65px !important;
        right: auto !important;
    }

    #miCarrusel .carousel-control-next[b-xizfb4jbzr] {
        right: -65px !important;
        left: auto !important;
    }

        #miCarrusel .carousel-control-prev:hover[b-xizfb4jbzr],
        #miCarrusel .carousel-control-next:hover[b-xizfb4jbzr] {
            background-color: transparent !important;
            opacity: 1 !important;
        }

/* Ajuste responsivo para pantallas pequeñas */
@media (max-width: 992px) {
    #miCarrusel .carousel-control-prev[b-xizfb4jbzr] {
        left: 10px !important;
    }

    #miCarrusel .carousel-control-next[b-xizfb4jbzr] {
        right: 10px !important;
    }

    .img-carrusel[b-xizfb4jbzr] {
        height: 280px;
    }
}
/* /Components/Pages/Contacto.razor.rz.scp.css */

.hero-banner[b-99nezoo033] {
    min-height: 40vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #0f172a; /* Color de respaldo (Slate oscuro) si falla la imagen */
    /* REEMPLAZA AQUÍ: Asegúrate de que la ruta apuntando a tu nueva imagen sea exacta */
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.95) 100%), url('/images/Contacto.png') center/cover no-repeat;
}

.text-shadow[b-99nezoo033] {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.max-w-2xl[b-99nezoo033] {
    max-width: 42rem;
    margin: 0 auto;
}

/* --- TEXTO DE DESCRIPCIÓN INFERIOR ESTILIZADO --- */
.hero-banner p[b-99nezoo033] {
    color: #ccd6f6 !important; /* Tono gris claro azulado suave y legible */
    font-size: 1.1rem;
    font-weight: 400;
    opacity: 0.85;
    max-width: 42rem; /* Limita el ancho para romper renglón de forma estética */
    margin: 0 auto;
}


/* ==========================================================================
   2. AJUSTES DEL FORMULARIO (ESTILO CÁPSULA REDONDEADA)
   ========================================================================== */
.input-capsula[b-99nezoo033] {
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    padding: 0.6rem 1.2rem !important;
}

    .input-capsula:focus[b-99nezoo033] {
        background-color: #ffffff !important;
        border-color: #86b7fe !important;
        box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
    }

.texto-etiqueta[b-99nezoo033] {
    font-weight: 600;
    color: #6c757d;
}
/* /Components/Pages/Index.razor.rz.scp.css */
/* CSS for Index component */

/* En móviles mantiene su comportamiento responsivo normal o el alto que decidas */
.carrusel-personalizado .carousel-item img[b-ln1t6dzofl] {
    height: 300px; /* Alto opcional para celular */
}

/* Para pantallas medianas y grandes (A partir de 768px) */
@media (min-width: 768px) {
    .carrusel-personalizado .carousel-item img[b-ln1t6dzofl] {
        height: 500px; /* Define aquí la altura exacta que deseas (ej. 450px, 500px, 600px) */
    }
}
/* /Components/Pages/QuienesSomos.razor.rz.scp.css */
/* --- HERO BANNER DE BIENVENIDA --- */
.hero-banner[b-aylkrksjve] {
    min-height: 40vh;
    background: linear-gradient(180deg, rgba(15,23,42,0.85) 0%, rgba(15,23,42,0.95) 100%), url('/images/IA.jpg') center/cover no-repeat;
}

.text-shadow[b-aylkrksjve] {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.max-w-2xl[b-aylkrksjve] {
    max-width: 42rem;
}

/* --- SECCIÓN PRINCIPAL Y TEXTOS --- */
.text-filosofia[b-aylkrksjve] {
    color: #212529 !important;
}

.text-destacado-dark[b-aylkrksjve] {
    color: #0f172a !important;
}

.titulo-pilares[b-aylkrksjve] {
    color: #0099ff !important;
    font-size: 1.25rem;
    letter-spacing: 0.5px;
}

/* --- TARJETAS DE LOS PILARES --- */
.card-pilar-title[b-aylkrksjve] {
    color: #0f172a !important;
    font-size: 1.85rem;
}

.list-item-pilar[b-aylkrksjve] {
    color: #374151 !important;
    font-size: 1.05rem;
}

.rombo-viñeta[b-aylkrksjve] {
    color: #3b82f6 !important;
}

/* --- BADGES Y CONTENEDORES DE ICONOS DE PILARES --- */
.badge-estrategia[b-aylkrksjve] {
    background-color: #e0f2fe !important;
    color: #0369a1 !important;
    font-size: 0.85rem;
}

.badge-talento[b-aylkrksjve] {
    background-color: #d1fae5 !important;
    color: #065f46 !important;
    font-size: 0.85rem;
}

/* --- SECCIÓN: NUESTRA DIRECCIÓN (MISIÓN Y VISIÓN) --- */
.titulo-direccion[b-aylkrksjve] {
    color: #0f172a !important;
}

.linea-decorativa[b-aylkrksjve] {
    width: 60px;
    height: 4px;
}

.card-direccion[b-aylkrksjve] {
    background-color: #0f172a !important;
}

.contenedor-icono-valores[b-aylkrksjve] {
    width: 42px;
    height: 42px;
}

.titulo-mision-vision[b-aylkrksjve] {
    color: #0dcaf0 !important;
    font-size: 1.6rem;
}

.texto-mision-vision[b-aylkrksjve] {
    color: #ffffff !important;
    text-align: justify;
}

.gradiente-imagen-valores[b-aylkrksjve] {
    background: linear-gradient(90deg, rgba(15,23,42,0.9) 0%, rgba(15,23,42,0) 100%);
}
/* /Components/Pages/Reclutamiento.razor.rz.scp.css */
/* CSS for Reclutamiento component */
.page-container[b-9iohe7by0o] {
    color: #374151;
}

/* --- HERO BANNER DE BIENVENIDA --- */
.hero-banner[b-9iohe7by0o] {
    min-height: 40vh;
    background: linear-gradient(180deg, rgba(15,23,42,0.85) 0%, rgba(15,23,42,0.95) 100%), url('/images/Reclutamiento_Global.png') center/cover no-repeat;
}

.text-shadow[b-9iohe7by0o] {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.max-w-2xl[b-9iohe7by0o] {
    max-width: 42rem;
}

/* --- ESTILOS ADICIONALES DEL HERO --- */
.hero-badge[b-9iohe7by0o] {
    display: inline-block;
    font-size: 0.85rem;
    font-weight: 700;
    color: #00f2fe;
    border: 1px solid rgba(0, 242, 254, 0.5);
    background-color: rgba(15, 23, 42, 0.6);
    padding: 0.4rem 1.4rem;
    border-radius: 50px;
    letter-spacing: 0.08em;
    margin-bottom: 1.2rem;
    text-transform: uppercase;
}

.hero-title[b-9iohe7by0o] {
    font-size: 3.2rem !important;
    font-weight: 300 !important;
    letter-spacing: 0.04em !important;
    margin-top: 0.5rem;
    margin-bottom: 1.2rem;
}

.hero-subtitle[b-9iohe7by0o] {
    font-size: 1.25rem;
    line-height: 1.6;
    margin: 0 auto;
    text-align: center !important;
}

/* ==========================================================================
   ESTILOS DEL CUERPO DE LA PÁGINA
   ========================================================================== */
.section-subtitle[b-9iohe7by0o] {
    font-size: 1.45rem;
    color: #0f172a;
    line-height: 1.5;
}

.section-text[b-9iohe7by0o] {
    font-size: 1.15rem;
    color: #4b5563;
    line-height: 1.7;
}

.side-img[b-9iohe7by0o], .dynamic-img[b-9iohe7by0o], .showcase-img[b-9iohe7by0o] {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
    max-width: 100%;
    height: auto;
}

    .side-img:hover[b-9iohe7by0o], .dynamic-img:hover[b-9iohe7by0o], .showcase-img:hover[b-9iohe7by0o] {
        transform: scale(1.02);
    }

.benefit-list[b-9iohe7by0o] {
    list-style: none;
    padding-left: 0;
}

    .benefit-list li[b-9iohe7by0o] {
        position: relative;
        padding-left: 2rem;
        font-size: 1.15rem;
        color: #4b5563;
        margin-bottom: 1.2rem !important;
        line-height: 1.6;
    }

        /* Check configurado con tu color azul institucional Nexabit */
        .benefit-list li[b-9iohe7by0o]::before {
            content: "✓";
            position: absolute;
            left: 0;
            top: 2px;
            color: #0057D9;
            font-weight: bold;
            font-size: 1.2rem;
        }

    .benefit-list strong[b-9iohe7by0o] {
        color: #111827;
        font-weight: 600;
    }

.process-grid[b-9iohe7by0o] {
    margin-top: 1rem;
}

.process-step[b-9iohe7by0o] {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 2.5rem 1.5rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

    /* Hover de las etapas adaptado al azul de la empresa */
    .process-step:hover[b-9iohe7by0o] {
        transform: translateY(-4px);
        border-color: #0057D9;
        box-shadow: 0 12px 20px -3px rgba(0, 87, 217, 0.08);
    }

.icon-wrapper[b-9iohe7by0o] {
    background-color: #f3f4f6;
    padding: 1rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    transition: background-color 0.3s ease;
}

.process-step:hover .icon-wrapper[b-9iohe7by0o] {
    background-color: #eff6ff;
}

.icon-shape[b-9iohe7by0o] {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.process-step h5[b-9iohe7by0o] {
    font-size: 1.3rem;
    color: #111827;
    font-weight: 700;
}

.step-desc[b-9iohe7by0o] {
    font-size: 1.05rem;
    color: #6b7280;
    line-height: 1.6;
}

/* ==========================================================================
   AJUSTES RESPONSIVOS DE IMÁGENES INFERIORES Y HERO BANNER (MÓVIL)
   ========================================================================== */
@media (max-width: 991.98px) {
    /* SOLUCIÓN: Añade colchón de espacio para que los textos largos no toquen las esquinas */
    .hero-banner[b-9iohe7by0o] {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    /* SOLUCIÓN: Modifica la escala de fuente para que "RECLUTAMIENTO GLOBAL" respire idéntico a Consultoría TI */
    .hero-title[b-9iohe7by0o] {
        font-size: 2.2rem !important; /* Escalado inteligente de 3.2rem a 2.2rem */
        line-height: 1.2 !important;
        margin-left: auto;
        margin-right: auto;
        word-wrap: break-word;
    }

    /* Ajuste para que la descripción quepa de forma balanceada en pantallas táctiles */
    .hero-subtitle[b-9iohe7by0o] {
        font-size: 1.1rem !important;
        padding-left: 10px;
        padding-right: 10px;
    }

    /* Ajuste responsivo de las imágenes del cuerpo inferior */
    .side-img[b-9iohe7by0o], .dynamic-img[b-9iohe7by0o] {
        max-width: 200px !important; /* Incrementado para mejor visibilidad en móviles */
        margin: 1.5rem auto;
        display: block;
        height: auto !important;
    }
}
/* /Components/Pages/RegistroCV.razor.rz.scp.css */
/* CSS for RegistroCV component */

.hero-banner[b-7y0p0dz7bq] {
    min-height: 40vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #0f172a; /* Color de respaldo (Slate oscuro) si falla la imagen */
    /* REEMPLAZA AQUÍ: Asegúrate de que la ruta apuntando a tu nueva imagen sea exacta */
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.95) 100%), url('/images/BolsaTrabajo.jpg') center/cover no-repeat;
}

.text-shadow[b-7y0p0dz7bq] {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.max-w-2xl[b-7y0p0dz7bq] {
    max-width: 42rem;
    margin: 0 auto;
}

/* --- TEXTO DE DESCRIPCIÓN INFERIOR ESTILIZADO --- */
.hero-banner p[b-7y0p0dz7bq] {
    color: #ccd6f6 !important; /* Tono gris claro azulado suave y legible */
    font-size: 1.1rem;
    font-weight: 400;
    opacity: 0.85;
    max-width: 42rem; /* Limita el ancho para romper renglón de forma estética */
    margin: 0 auto;
}


/* ==========================================================================
   2. AJUSTES DEL FORMULARIO (ESTILO CÁPSULA REDONDEADA)
   ========================================================================== */
.input-capsula[b-7y0p0dz7bq] {
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    padding: 0.6rem 1.2rem !important;
}

    .input-capsula:focus[b-7y0p0dz7bq] {
        background-color: #ffffff !important;
        border-color: #86b7fe !important;
        box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
    }

.texto-etiqueta[b-7y0p0dz7bq] {
    font-weight: 600;
    color: #6c757d;
}
/* /Shared/Footer.razor.rz.scp.css */
/* ==========================================
   ESTILOS GENERALES DEL FOOTER (PC / DESKTOP)
   ========================================== */

.site-footer[b-5x4eboxo32] {
    background: #f8f9fb;
    border-top: 1px solid #e6e6e6;
    padding: 24px 16px; /* Mejor espaciado vertical */
    color: #222;
    overflow: visible;
    line-height: 1;
}

.footer-inner[b-5x4eboxo32] {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center; /* Centrado absoluto de los elementos */
    padding: 4px 0;
}

.footer-center[b-5x4eboxo32] {
    display: flex;
    align-items: center;
}

.social-and-brand[b-5x4eboxo32] {
    display: flex;
    align-items: center;
    gap: 12px; /* Espacio uniforme entre iconos y texto */
}

/* Cajas de redes sociales con estilo idéntico al Header (KodeIt Style) */
.social-link[b-5x4eboxo32] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background-color: #eef0f4; /* Gris sutil de fondo */
    color: #222; /* Color de icono oscuro */
    text-decoration: none;
    border-radius: 4px; /* Bordes ligeramente cuadrados como en tu diseño de muestra */
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

    /* Efecto hover interactivo: cambia al azul de tu marca */
    .social-link:hover[b-5x4eboxo32] {
        background-color: #0057D9;
        color: #ffffff;
        transform: translateY(-2px); /* Pequeña animación hacia arriba */
    }

    .social-link svg[b-5x4eboxo32] {
        display: block;
        width: 16px;
        height: 16px;
        fill: currentColor; /* Permite que el color cambie con el hover automáticamente */
    }

.brand-right[b-5x4eboxo32] {
    color: #555;
    font-size: 14px;
    font-weight: 600;
    margin-left: 12px; /* Separación limpia respecto a los iconos */
}

/* ==========================================
   ESTILOS RESPONSIVOS PARA MÓVIL (768px)
   ========================================== */

@media (max-width: 768px) {
    .footer-inner[b-5x4eboxo32] {
        flex-direction: column;
        text-align: center;
    }

    .social-and-brand[b-5x4eboxo32] {
        flex-direction: column; /* Apilado limpio en celulares */
        gap: 16px;
    }

    .brand-right[b-5x4eboxo32] {
        margin-left: 0;
    }
}
/* /Shared/MainHeader.razor.rz.scp.css */
/* ==========================================
   ESTILOS GENERALES DEL HEADER (PC / DESKTOP)
   ========================================== */

.main-header[b-k4ew9uplhf] {
    display: flex;
    flex-direction: row;
    align-items: center; /* Centra verticalmente el logo y el menú */
    justify-content: flex-start; /* El menú inicia inmediatamente a la derecha del logo */
    padding: 0 40px; /* Eliminamos padding vertical para que los botones llenen el header */
    background: #fff;
    border-bottom: 1px solid #e6e6e6;
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    left: 0;
    height: 140px; /* Forzamos una altura fija para contener el logo grande */
}

/* Contenedor del logo */
.header-left[b-k4ew9uplhf] {
    display: flex;
    align-items: center;
    height: 100%;
}

/* Tamaño del logo grande y legible */
.logo-img[b-k4ew9uplhf] {
    height: 135px;
    width: auto;
    display: block;
    margin-right: 40px; /* Distancia exacta donde arranca el menú inmediatamente */
}

/* Contenedor de la navegación */
.header-nav[b-k4ew9uplhf] {
    display: flex;
    align-items: center;
    height: 100%; /* Ocupa el 100% de la altura del header */
    position: relative;
    flex-grow: 1; /* Permite que el contenedor nav use todo el espacio restante para empujar las redes sociales */
}

/* Estructura del menú en modo PC */
.menu[b-k4ew9uplhf] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 0; /* Cajas juntas sin huecos */
    align-items: center;
    height: 100%; /* Llena la altura del header para centrar los hovers */
}

.menu-item[b-k4ew9uplhf] {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%; /* Permite que el fondo azul llene toda la barra al hacer hover */
}

/* Los enlaces individuales del menú en PC */
.main-header .menu-item > a[b-k4ew9uplhf],
.main-header .menu-item > span[b-k4ew9uplhf] {
    color: #222;
    text-decoration: none;
    padding: 0 24px; /* Padding horizontal */
    height: 60px; /* Altura compacta y fija de los botones estilo caja */
    line-height: 60px; /* Centra verticalmente el texto dentro de la caja */
    display: inline-block;
    font-weight: 700 !important;
    border-right: 1px solid #e6e6e6; /* Línea divisoria a la derecha */
    box-sizing: border-box;
}

/* Borde izquierdo solo al primer elemento */
.menu-item:first-child > a[b-k4ew9uplhf],
.menu-item:first-child > span[b-k4ew9uplhf] {
    border-left: 1px solid #e6e6e6;
}

/* Ocultamos selectores obsoletos */
.main-header .menu-item:not(:last-child)[b-k4ew9uplhf]::after {
    display: none !important;
}

/* ==========================================
   INTERACCIONES, HOVER Y SUBMENÚS (Optimizados)
   ========================================== */

.menu-item.has-children > a[b-k4ew9uplhf] {
    position: relative;
    padding-right: 35px !important; /* Espacio para la flecha */
}

.menu-arrow[b-k4ew9uplhf] {
    display: inline-block;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    line-height: 1;
    transition: transform .22s ease, color .18s ease;
    color: #666;
    pointer-events: none;
}

/* Hover e Interacciones básicas */
.main-header .menu-item > a:hover[b-k4ew9uplhf],
.main-header .menu-item > span:hover[b-k4ew9uplhf] {
    background: #0057D9 !important; /* Tu azul corporativo */
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Mantiene el botón principal pintado de azul mientras recorres su submenú */
.menu-item:hover > a[b-k4ew9uplhf],
.menu-item:hover > span[b-k4ew9uplhf] {
    background: #0057D9 !important;
    color: #ffffff !important;
}

.main-header .menu-item.has-children > a:hover .menu-arrow[b-k4ew9uplhf] {
    color: #ffffff !important;
}

.menu-item.open-parent > a .menu-arrow[b-k4ew9uplhf],
.menu-item.has-children:hover > a .menu-arrow[b-k4ew9uplhf] {
    transform: translateY(-50%) rotate(180deg);
    color: #ffffff !important;
}

.menu-item.open-parent > a[b-k4ew9uplhf] {
    background: #0057D9 !important;
    color: #ffffff !important;
}

/* Submenús en PC corregidos matemáticamente sin espacios vacíos */
.submenu[b-k4ew9uplhf] {
    display: none;
    position: absolute;
    top: calc(50% + 30px); /* Centrado vertical (50%) + la mitad del alto del botón (30px) */
    left: 0;
    background: #fff;
    border: 1px solid #e6e6e6;
    list-style: none;
    padding: 6px 0;
    min-width: 180px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
    z-index: 1001;
}

    .submenu li a[b-k4ew9uplhf] {
        display: block;
        padding: 8px 12px;
        color: #222;
        text-decoration: none;
        line-height: normal;
        height: auto;
        border: none !important;
    }

.menu-item:hover > .submenu[b-k4ew9uplhf] {
    display: block;
}

.main-header .submenu li a:hover[b-k4ew9uplhf] {
    background: #0057D9 !important;
    color: #ffffff !important;
}

/* ==========================================
   SECCIÓN DE REDES SOCIALES
   ========================================== */

.header-socials[b-k4ew9uplhf] {
    display: flex;
    flex-direction: row;
    gap: 8px; /* Separación entre las cajitas */
    align-items: center;
    margin-left: auto; /* Empuja magnéticamente toda la sección hacia el extremo derecho */
    padding-left: 24px;
}

.social-icon[b-k4ew9uplhf] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background-color: #f2f2f2; /* Gris tenue de fondo */
    color: #222; /* Icono color negro/gris oscuro */
    text-decoration: none;
    border-radius: 4px; /* Bordes ligeramente redondeados */
    transition: background-color 0.2s ease, color 0.2s ease;
    font-size: 16px;
}

    /* Efecto hover al pasar el cursor */
    .social-icon:hover[b-k4ew9uplhf] {
        background-color: #0057D9; /* Cambia a tu azul corporativo */
        color: #ffffff; /* El icono se vuelve blanco */
    }

/* ==========================================
   ESTILOS BASE DEL BOTÓN HAMBURGUESA
   ========================================== */

.hamburger[b-k4ew9uplhf] {
    display: none;
    background: transparent;
    border: 0;
    padding: 8px;
    cursor: pointer;
    border-radius: 6px;
}

.hamburger-box[b-k4ew9uplhf] {
    display: inline-block;
    width: 24px;
    height: 18px;
    position: relative;
}

.hamburger-inner[b-k4ew9uplhf] {
    position: absolute;
    left: 0;
    top: 50%;
    width: 24px;
    height: 2px;
    background-color: #222;
    transform: translateY(-50%);
}

    .hamburger-inner[b-k4ew9uplhf]::before,
    .hamburger-inner[b-k4ew9uplhf]::after {
        content: '';
        position: absolute;
        left: 0;
        width: 24px;
        height: 2px;
        background-color: #222;
    }

    .hamburger-inner[b-k4ew9uplhf]::before {
        top: -8px;
    }

    .hamburger-inner[b-k4ew9uplhf]::after {
        top: 8px;
    }

/* ==========================================
   ESTILOS RESPONSIVOS PARA MÓVIL (768px)
   ========================================== */

@media (max-width: 768px) {
    .main-header[b-k4ew9uplhf] {
        height: auto; /* CORRECCIÓN: Permite que el header se adapte al tamaño real del logo */
        min-height: 90px;
        padding: 15px 20px;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        position: relative;
    }

    /* Logo legible en móvil */
    .logo-img[b-k4ew9uplhf] {
        height: auto;
        max-height: 90px; /* Escalado inteligente */
        width: auto;
        max-width: 180px;
        display: block;
        margin-right: 0;
    }

    /* Hamburguesa alineada a la derecha */
    .hamburger[b-k4ew9uplhf] {
        display: inline-block !important;
        position: relative;
        z-index: 1005;
        background: transparent !important;
        border: 0 !important;
        cursor: pointer;
        width: 44px;
        height: 44px;
        padding: 0;
        margin-left: auto;
    }

    .hamburger-box[b-k4ew9uplhf] {
        display: block;
        width: 24px;
        height: 18px;
        position: relative;
        margin: 13px auto;
    }

    .hamburger-inner[b-k4ew9uplhf],
    .hamburger-inner[b-k4ew9uplhf]::before,
    .hamburger-inner[b-k4ew9uplhf]::after {
        width: 24px;
        height: 2px;
        background-color: #222 !important;
        position: absolute;
        transition: transform .15s ease;
    }

    .hamburger-inner[b-k4ew9uplhf] {
        top: 50%;
        transform: translateY(-50%);
    }

        .hamburger-inner[b-k4ew9uplhf]::before {
            content: '';
            top: -7px;
            left: 0;
        }

        .hamburger-inner[b-k4ew9uplhf]::after {
            content: '';
            top: 7px;
            left: 0;
        }

    .header-nav[b-k4ew9uplhf] {
        height: auto;
        display: flex;
        align-items: center;
        position: static; /* Cambiado a static para que el menú use el ancho del header completo */
        flex-grow: 0;
    }

    /* Caja contenedora móvil corregida para alinearse perfectamente abajo del header real */
    .menu[b-k4ew9uplhf] {
        display: flex !important;
        flex-direction: column;
        position: absolute;
        top: 100%; /* SOLUCIÓN: Cae exactamente al ras del borde inferior del header, sin importar su tamaño */
        right: 0;
        left: 0; /* Ocupará todo el ancho en móvil para mejor usabilidad */
        width: 100%;
        background: #fff;
        padding: 10px 0;
        box-shadow: 0 10px 25px rgba(0,0,0,0.1);
        border-top: 1px solid #e6e6e6;
        border-bottom: 1px solid #e6e6e6;
        z-index: 99999;
        height: auto;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-10px);
        transition: transform 0.25s ease, opacity 0.25s ease, visibility 0.25s ease;
    }

        /* Cuando el menú está abierto */
        .menu.open[b-k4ew9uplhf] {
            opacity: 1 !important;
            visibility: visible !important;
            pointer-events: auto !important;
            transform: translateY(0);
        }

    /* SOLUCIÓN AL DESAPARECIDO: Soporte nativo para el acordeón abierto por clic */
    .main-header .submenu.open[b-k4ew9uplhf],
    .submenu.open[b-k4ew9uplhf] {
        display: block !important;
        position: relative !important;
        top: auto !important;
        left: 0 !important;
        width: 100% !important;
        box-shadow: none !important;
        border: none !important;
        padding-left: 20px !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
    }
    /* Cancela la interferencia del hover de PC en la vista de simulación móvil */ .menu-item:hover > .submenu[b-k4ew9uplhf] {
        display: none !important;
    }
    /* Si tiene la clase open por el JS de Blazor, obligamos a que se muestre */

    .menu-item .submenu.open[b-k4ew9uplhf] {
        display: block !important;
    }

    .main-header .menu-item[b-k4ew9uplhf] {
        width: 100%;
        height: auto;
        display: block;
    }
        /* Ajuste de enlaces verticales en móvil */

        .main-header .menu-item > a[b-k4ew9uplhf], .main-header .menu-item > span[b-k4ew9uplhf] {
            width: 100%;
            padding: 14px 24px;
            height: auto;
            line-height: normal;
            border-right: none;
            border-left: none !important;
            border-bottom: 1px solid #f2f2f2;
            box-sizing: border-box;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

    .menu-arrow[b-k4ew9uplhf] {
        position: static;
        transform: none;
        right: auto;
        top: auto;
    }

    .menu-item.has-children:hover > a .menu-arrow[b-k4ew9uplhf] {
        transform: none;
    }
    /* Oculta las redes sociales en móvil */

    .header-socials[b-k4ew9uplhf] {
        display: none !important;
    }
}
