/* Sección principal */
.hero {
    position: relative;
    height: 100vh; /* 100% de la altura de la ventana */
    display: flex;
    justify-content: flex-start; /* Alinea el contenido al inicio (izquierda) */
    align-items: center;
    overflow: hidden;
}

.hero-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; /* Coloca la imagen detrás del contenido */
}

.background-image {
    width: 100%;
    height: 110%;
    object-fit: cover; /* Hace que la imagen cubra toda la pantalla */
}

.hero-content {
    width: 50%; /* El cuadro ocupará la mitad izquierda de la pantalla */
    padding: 40px;
    position: absolute;
    left: 0;
    top: 50%; /* Centra el contenido verticalmente */
    transform: translateY(-50%); /* Ajuste para centrar perfectamente */
}

.text-box {
    background-color: rgba(24, 255, 3, 0.719); /* Fondo semitransparente para el cuadro */
    padding: 70px;
    border-radius: 10% 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    text-align: left; /* Alineamos el texto a la izquierda */
    width: 90%; /* Hace el cuadro un poco más pequeño */
    max-width: 600px; /* Limita el tamaño máximo del cuadro */
}

.hero-title {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.4;
    position: relative;
}

/* Línea debajo del título */
.hero-title::after {
    content: "";
    display: block;
    width: 80%; /* Aumentamos el ancho de la línea */
    height: 3px;
    background-color: #01004b;
    margin-top: 10px;
}

.hero-description {
    font-size: 1.0rem;
    color: #fff;
    margin-bottom: 30px;
    line-height: 1.6;
    font-weight: 500; /* Para que el texto sea más ligero y legible */
}

.hero-btn {
    background-color: #0b0069;
    color: #fff;
    font-size: 1.1rem;
    padding: 12px 30px;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.hero-btn:hover {
    background-color: #05316a;
}

/* Estilos responsivos para pantallas pequeñas */
@media (max-width: 1024px) {
    .hero-content {
        width: 70%; /* Aumenta el ancho en pantallas más grandes */
    }

    .hero-title {
        font-size: 2rem; /* Aumenta el tamaño del título en pantallas pequeñas */
    }

    .hero-description {
        font-size: 1.1rem; /* Ajusta el tamaño del texto en pantallas pequeñas */
    }

    .hero-btn {
        font-size: 1.1rem;
        padding: 12px 25px; /* Ajusta el tamaño del botón */
    }
}

/* Estilos para pantallas muy pequeñas (móviles) */
@media (max-width: 768px) {
    .hero-content {
        width: 90%; /* El contenido ocupa más espacio en pantallas pequeñas */
        padding: 20px;
    }

    .hero-title {
        font-size: 1.5rem; /* Reduce el tamaño del título */
    }

    .hero-description {
        font-size: 1rem; /* Reduce el tamaño del texto */
    }

    .hero-btn {
        font-size: 1rem;
        padding: 10px 20px; /* Ajusta el tamaño del botón */
    }
}

@media (max-width: 480px) {
    .hero-content {
        width: 100%; /* El contenido ocupa todo el ancho de la pantalla en móviles pequeños */
        padding: 15px;
    }

    .hero-title {
        font-size: 1.2rem; /* Reduce aún más el tamaño del título */
    }

    .hero-description {
        font-size: 0.9rem; /* Ajusta el tamaño del texto */
    }

    .hero-btn {
        font-size: 1rem;
        padding: 8px 15px; /* Ajusta el tamaño del botón */
    }
}




/* Estilos generales de la sección */
.portfolio-section {
    padding: 80px 0;
    background: #ffffff;
    color: #15ff00;
    text-align: center;
}

.container {
    width: 90%;
    margin: 0 auto;
}

/* Estilos del título principal */
.section-title {
    font-size: 3.5rem; /* Tamaño mayor para destacarlo */
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 2px;
    color: #01004b; /* Un color oscuro para el título para mayor contraste */
    text-transform: uppercase; /* Hace el texto en mayúsculas */
}

/* Descripción debajo del título principal */
.section-description {
    font-size: 1.2rem;
    color: #000122;
    margin-bottom: 40px;
    max-width: 800px; /* Limitar el ancho para no hacerlo demasiado largo */
    margin-left: auto;
    margin-right: auto;
}

/* Estilos de los items del portafolio */
.portfolio-item {
    margin-bottom: 60px;
}

.portfolio-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px;
    background-color: #00042b;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.portfolio-item:hover .portfolio-content {
    transform: translateY(-5px);
}

/* Contenedor de la imagen */
.portfolio-img-container {
    flex: 1;
    padding: 20px;
}

.portfolio-img {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    object-fit: cover; /* Asegura que la imagen cubra todo el contenedor sin distorsión */
    transition: transform 0.3s ease;
}

/* Contenedor del texto */
.portfolio-text-container {
    flex: 1;
    padding: 20px;
    text-align: left;
}

.portfolio-title {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 15px;
    color: #47ff22;
}

.portfolio-text {
    font-size: 1.1rem;
    margin-bottom: 20px;
    color: #ccc;
}

.portfolio-btn {
    padding: 10px 20px;
    background-color: #1eff00;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    border-radius: 5px;
    text-transform: uppercase;
    transition: background-color 0.3s ease;
}

.portfolio-btn:hover {
    background-color: #02a10a;
}

/* Estilos para la inversión del contenido en los items */
.portfolio-item.reversed .portfolio-content {
    flex-direction: row-reverse;
}

.portfolio-item.reversed .portfolio-img-container {
    order: 1;
}

/* Estilo para la lista de características de la solución */
.portfolio-list {
    list-style-type: none;
    padding: 0;
    margin-top: 20px;
}

.portfolio-list li {
    font-size: 1.1rem;
    color: #ddd;
    margin-bottom: 10px;
    line-height: 1.6;
}

.portfolio-list li strong {
    color: #22ff3f;
}

/* Media Queries para responsividad */
@media (max-width: 1024px) {
    .section-title {
        font-size: 2.5rem; /* Reducir tamaño del título en pantallas más pequeñas */
    }

    .portfolio-content {
        padding: 20px;
    }

    .portfolio-title {
        font-size: 1.8rem; /* Reducir tamaño de los títulos de cada item */
    }
}

@media (max-width: 768px) {
    .portfolio-content {
        flex-direction: column-reverse; /* Invertir el orden de los elementos: imagen arriba, texto abajo */
        align-items: flex-start;
        padding: 15px;
    }

    .portfolio-img-container,
    .portfolio-text-container {
        padding: 15px;
    }

    .portfolio-title {
        font-size: 1.8rem;
    }

    .portfolio-btn {
        font-size: 1rem;
    }

    .portfolio-img {
        object-fit: cover;
        max-height: 300px; /* Limita la altura máxima de la imagen en móviles */
        height: auto;
    }
}

@media (max-width: 480px) {
    .section-title {
        font-size: 2rem; /* Reducir aún más el tamaño del título en pantallas muy pequeñas */
    }

    .portfolio-img {
        max-height: 250px; /* Ajusta la altura máxima en pantallas más pequeñas */
        object-fit: cover;
    }

    .portfolio-title {
        font-size: 1.6rem; /* Ajusta el tamaño de los títulos en dispositivos más pequeños */
    }

    .portfolio-text {
        font-size: 1rem;
    }

    .portfolio-btn {
        font-size: 1rem;
        padding: 8px 15px;
    }
}










/* Estilos generales de la sección eSIM */
.esim-section {
    padding: 80px 0;
    background-color: #000033;
    color: #333;
    text-align: center;
}

.container {
    width: 90%;
    margin: 0 auto;
}

.section-title {
    font-size: 2.4rem;
    font-weight: bold;
    color: #2bff00;
    margin-bottom: 20px;
}

.section-description {
    font-size: 1.1rem;
    color: #8f8da3;
    margin-bottom: 40px;
}

/* Contenedor principal para imagen y tarjetas */
.esim-main-content {
    display: flex;
    justify-content: space-between;
    gap: 50px;
    align-items: flex-start;
    flex-wrap: wrap;
}

/* Imagen */
.esim-img-container {
    flex: 1;
    max-width: 450px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
}

.esim-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Contenedor de tarjetas con la información horizontal */
.esim-cards {
    flex: 2;
    display: flex;
    flex-direction: column; /* Cambio a dirección vertical */
    gap: 30px;
}

.esim-card {
    display: flex;
    align-items: center;
    background-color: #fff;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
    text-align: left;
    transition: transform 0.3s ease;
}

.esim-card:hover {
    transform: translateY(-10px);
}

.esim-icon-bubble {
    background-color: #87ec00;
    color: #fff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 20px;
}

.esim-icon {
    font-size: 25px;
}

.esim-card-info {
    flex: 1;
}

.esim-card-title {
    font-size: 1.2rem;
    color: #87ec00;
    margin-bottom: 10px;
}

.esim-card-description {
    font-size: 0.9rem;
    color: #000000;
}

/* ¿Por qué elegir? */
.why-choose {
    margin-top: 60px;
}

.why-title {
    font-size: 2rem;
    color: #87ec00;
    margin-bottom: 30px;
}

.why-cards {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.why-card {
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
    text-align: center;
    flex: 1;
    transition: transform 0.3s ease;
}

.why-card:hover {
    transform: translateY(-10px);
}

.why-icon {
    font-size: 40px;
    color: #87ec00;
    margin-bottom: 15px;
}

.why-text {
    font-size: 1rem;
    color: #00054d;
}

/* Botón CTA */
.cta-btn {
    padding: 15px 30px;
    background-color: #ff5722;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    border-radius: 5px;
    text-transform: uppercase;
    margin-top: 40px;
    transition: background-color 0.3s ease;
}

.cta-btn:hover {
    background-color: #ff784e;
}

/* Media Queries para responsividad */
@media (max-width: 768px) {
    .esim-main-content {
        flex-direction: column;
        align-items: center;
    }

    .esim-img-container {
        max-width: 400px;
        margin-bottom: 30px;
    }

    .esim-cards {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    .why-cards {
        flex-direction: column;
        align-items: center;
    }

    .cta-btn {
        font-size: 1rem;
    }
}







  