
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%; /* Obliga a que el cuerpo mida exactamente lo que mide la pantalla */
    overflow: hidden; /* Esto elimina las barras de desplazamiento */
    background-color: #eaf9ff;
}

/* Página principal */
.column{
	float: left;
	width: 50%;
	padding: 3%  10% 1% 10%;
	text-align: center;
}

/* Estilos de la Navbar */

.nav-bar .navbar {
    background-color: #006a84; /* Color azul petróleo de la imagen */
    padding: 10px 40px;
    height: 50px;
    display: flex;
    align-items: center;
    border-bottom: 2px solid #005a70;
    position: fixed;   /* Lo fija a la pantalla */
    top: 0;            /* Lo pega al borde superior */
    left: 0;           /* Lo pega al borde izquierdo */
    width: 100%;       /* Asegura que cubra todo el ancho */
    z-index: 1000;     /* Lo pone por encima de todo el contenido */
    box-sizing: border-box;
}

.nav-bar .nav-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-bar .nav-container a {
    text-decoration: none;
}

.nav-bar .navbar {
    background-color: #006a84; /* Color azul petróleo de la imagen */
    padding: 10px 40px;
    height: 50px;
    display: flex;
    align-items: center;
    border-bottom: 2px solid #005a70;
}

.nav-bar .nav-brand {
    color: white;
    font-size: 18px;
    font-weight: 500;
	font-weight: bold;
}

.nav-bar .nav-links {
    list-style: none;
    display: flex;
    gap: 30px;
    margin: 0;
    padding: 0;
	gap: 80px;
}

.mobile-search, .close-menu {
    display: none; /* Escondemos el buscador de móvil y la X en PC */
}

.nav-bar .nav-links li a {
    color: white;
    text-decoration: none;
    font-size: 14px;
    transition: opacity 0.3s;
}

.nav-bar .search-container {
    position: relative;
    display: flex;
    align-items: center;
}

.nav-bar .search-input {
    background-color: white;
    border: none;
    border-radius: 20px; /* Bordes redondeados como en la imagen */
    padding: 5px 15px;
    width: 200px;
    height: 25px;
    outline: none;
}

.nav-bar .search-img {
    position: absolute;
    right: 12px;
    
    /* MODIFICA ESTAS MEDIDAS SEGÚN NECESITES */
    width: 16px; 
    height: 16px;
    
    object-fit: contain; /* Asegura que la imagen no se deforme */
    cursor: pointer;
    opacity: 0.6; /* Para que se vea grisácea como en la original */
}


/*.nav-bar*/

.nav-bar .nav-links li a:hover {
    opacity: 0.8;
}
.main-container {
    display: flex;
    height: calc(100vh - 60px); /* Ajusta según el alto de tu navbar */
    background-color: #eaf9ff; /* Fondo celeste claro de la imagen */
}

/* --- ESTILO SIDEBAR (Izquierda) --- */
.main-container {
	display: flex;
    margin-top: 50px;
    height: 100vh;
    background-color: #eaf9ff; /* El color celeste de la imagen */
    overflow: hidden;
}
.sidebar {
    margin-top: 10px;
    width: 200px;
    height: 90%;
    background-color: transparent; /* <--- IMPORTANTE */
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
	margin-left: 50px;
}

.sidebar-logo img {
    width: 160px;   
}

/* Cuadrícula de 2 columnas para los iconos pequeños */
.icon-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    justify-items: center;
}

.app-icon {
    width: 55px; /* Tamaño ajustable */
    height: 55px;
    cursor: pointer;
	transition: transform 0.1s ease;
	margin: 0;
}

.icon-grid .appicononly  {
    width: 55px; /* Tamaño ajustable */
    height: 50px;
    cursor: pointer;
	transition: transform 0.1s ease;
	grid-column: span 2; /* Si quieres que el último ocupe todo el ancho */
}

.app-icon:hover {
    transform: scale(1.1);
}

.sidebar-footer {
    margin-top: auto; /* Empuja el logo de Siigo al fondo */
}

.siigo-logo {
    width: 55px;
    border: 1px solid #ccc;
    border-radius: 8px;
	background: #000;
}

/* --- ESTILO CONTENIDO (Derecha) --- */
.main-content {
	margin-top: 50px;
    flex: 1; /* Ocupa todo el espacio restante */
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0px;
	gap: 100px;
}

.hero-title {
    font-size: 3.5rem;
    font-weight: bold; /* Negrita aplicada */
    color: #000;
    margin: 0;
}

.atom-image img {
    width: 300px; /* Tamaño del círculo de tecnología */
    
	/*animation: rotar 5s linear infinite;*/
}



/*@keyframes rotar{
	from{
		transform: rotateY(180deg);
	}
	to {
		transform: rotateY(-180deg);
	}
}*/

.social-bar {
    display: flex;
    gap: 20px;
}

.social-img {
    width: 35px;
    height: 35px;
    cursor: pointer;
}

/* Botón hamburguesa: Oculto en escritorio */
.menu-toggle {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 4px;
}

.bar {
    width: 25px;
    height: 3px;
    background-color: white; /* Color para que resalte en el azul */
    transition: 0.3s;
}

/*RESPONSIVIDAD PARA MÓVILES Y TABLET SOBRE NAVBAR*/

/*Tablets*/
@media (max-width: 1024px){

}

/*Telefonos*/

@media (max-width: 860px) {

    html, body {
        overflow-y: auto; /* Permitir scroll en móviles */
        height: auto;
    }

    .main-container {
        flex-direction: column; /* Apila Sidebar y Main Content */
        height: 100vh;
        overflow: visible;
        padding-bottom: 50px;
        width: 100%;
    }

    .main-content {
        order: 1; /* Lo mueve arriba */
        gap: 30px; /* Reduce el espacio exagerado de 100px */
    }

    .hero-title {
        font-weight: bold;
        padding-top: 20px;
        padding-bottom: 10px;
        font-size: 2.0rem; /* Tamaño más adecuado para celular */
        text-align: center;
    }

    .atom-image img {
        width: 250px; /* Tamaño reducido para que quepa bien */
    }

    .social-bar {
        margin-top: 50px;
        order: 2; /* Redes sociales debajo del átomo */
    }

    .sidebar-logo img {
        width: 150px; /* Logo de Aspel */
    }

    .icon-grid {
        grid-template-columns: repeat(5, 1fr); /* 5 columnas como se ve en la imagen */
        gap: 10px;
        padding: 0 10px;
    }

    .app-icon {
        width: 60px;
        height: 60px;
    }

    .sidebar-footer {
        margin-top: 30px;
    }

    .icon-grid .appicononly {
        grid-column: 3 / span 1; /* Lo posicionamos justo en la columna central (la 3) */
        width: 60px; /* Un poco más grande para que destaque como en la foto */
        height: auto;
    }

    .sidebar {
        order: 3; /* Aparece después del contenido principal */
        width: 100%;
        margin-left: 0; /* Centra la columna */
        height: auto;
        padding: 20px 0;
        
    padding-bottom: 60px;
    }   

    .nav-bar .nav-links {
        display: flex;
        flex-direction: column;
        gap: 15px ; 
        position: fixed ;
        /* 1. ESTO CREA EL ESPACIO ARRIBA: */
        top:50px; /* Ajusta este valor al alto de tu navbar */
        left: -100%; 
        width: 80%; 
        /* 2. AJUSTA EL ALTO: Para que no sobrepase el fondo */
        height: calc(100vh - 60px); 
        background-color: #006a84;
        transition: left 0.4s ease;
        z-index: 2000;
        padding: 20px;
        margin: 0;
        list-style: none;
    }

    .mobile-search label {
        color: white;
        margin-top: 100px;
    }
    
    .menu-toggle {
        display: flex;
        flex-direction: column;
        cursor: pointer;
        gap: 0; /* El espacio lo define el 'margin' de .bar */
        padding: 5px;
        z-index: 4000;
    }

    .navbar .search-container {
        display: none;
    }

    .nav-bar .nav-links .mobile-search {
        display: flex !important;
        flex-direction: column !important; /* Alinea uno arriba del otro */
        gap: 15px;      /* <--- Esta es la separación exacta entre el texto y el input */
    }

    .nav-bar .nav-links .mobile-search label {
        margin: 0;     /* Quitamos márgenes antiguos para que solo mande el 'gap' */
        font-size: 14px;
    }

    .search-box {
        position: relative; /* Esto permite que la lupa se mueva dentro de este div */
        width: 100%;
        display: flex;
        align-items: center;
    }

    .search-box input {
        width: 100%;
        height: 35px;
        border-radius: 20px; /* Bordes redondeados de tu diseño */
        border: none;
        padding: 0 40px 0 15px; /* Dejamos un espacio de 40px a la derecha para la lupa */
        outline: none;
    }

    .search-icon-inner {
        position: absolute;
        right: 15px; /* Separación desde el borde derecho */
        width: 16px;  /* Tamaño de la lupa */
        height: 16px;
        opacity: 0.5; /* Color grisáceo para que no resalte tanto */
    }


    .nav-links.active {
        left: 0;
    }

    /* 3. Estilos de los enlaces dentro del panel */
    .nav-links li {
        margin: 0;
        text-align: left;
        padding: 5px 0
    }

    .nav-links li a {
        color: white;
        font-size: 1.2rem;
        text-decoration: none;
        display: block;
    }

    /* Animación de las barras */
    .menu-toggle.is-active .bar:nth-child(1) {
        transform: translateY(10px) rotate(45deg); /* Baja y rota */
    }

    .menu-toggle.is-active .bar:nth-child(2) {
        opacity: 0; /* Desaparece la barra del medio */
        transform: translateX(-10px);
    }

    .menu-toggle.is-active .bar:nth-child(3) {
        transform: translateY(-10px) rotate(-45deg); /* Sube y rota al lado opuesto */
    }

    /* Opcional: Asegúrate de que las barras tengan una transición suave */
    .bar {
        width: 30px;
        height: 4px; 
        background-color: white;
        margin: 6px 0; /* Espaciado fijo */
        transition: all 0.3s ease-in-out;
        display: block;
        /* Muy importante: rotar desde el centro exacto de la barrita */
        transform-origin: center; 
        border-radius: 2px;
    }
    /* 1. Estado base de las barras */
    .bar {
        width: 30px;
        height: 3px;
        background-color: white;
        margin: 3.6px 0; /* Separación controlada */
        transition: all 0.3s ease-in-out;
        display: block;
    }
}

