/* Estilos generales */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #f4f4f4;  
}

.container {
    width: 85%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
}

/* Franja de contactos */
.contact-bar {
    background-color: #000;
    color: white;
    height: 12vh;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 200;
}

.contact-bar .container {
    display: flex;
    justify-content: space-between;
    width: 85%; /* Aumentar el ancho del container */
    max-width: 1250px; /* Aumentar el ancho máximo */
}

.social-icons {
    display: flex;
    align-items: center;
}

.social-icon {
    width: 30px;
    height: 30px;
    margin-right: 2vw;
}

.tech-support {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    font-size: 18px;
}

.tech-support p {
    margin: 2px 0;
}

.phone-container {
    display: flex;
    align-items: center;
}

.phone-icon {
    width: 18px;
    height: 18px;
    margin-right: 8px;
}


/* Navbar */
.navbar {
    background-color: blue;
    padding: 0;
    width: 100%;
    height: 15vh;
    box-shadow: 0 2px 7px rgba(0,0,0,0.3);
    position: sticky;
    top: 0;
    left: 0;
    z-index: 100;
}

.navbar-container {
    width: 100%; /* Cambiado a 100% en lugar de 100vw */
    background-color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    max-width: 100%; /* Asegurar que no exceda el ancho de la pantalla */
    padding: 0 2%; /* Agregar un poco de padding en los lados */
}

.logo {
    display: flex;
    align-items: center;
}

.company-logo {
    padding-left: 7vw;
    height: 32vh; /* Reducido para horizontal */
    width: auto;
}

.nav-menu {
    padding-right: 5vw;
    display: flex;
    list-style: none;
    justify-content: flex-end;
}

.nav-menu li {
    margin: 0 1.5vw;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-menu a {
    color: black;
    text-decoration: none;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 20px;
    transition: all 0.2s ease;
    position: relative; /* Añadido */
    display: inline-block; /* Añadido */
}

.nav-menu a:hover {
    color: #013a73; /* Azul oscuro */
    transform: scale(1.2); /* Reemplazo del cambio de font-size */
    transform-origin: center center;
}

/* Eliminar regla vacía para evitar advertencias */

.menu-toggle {
    display: none !important;
}

/* Banner de la empresa */
.company-header {
    height: 80vh;
    background: linear-gradient(to top, #0056b3, #87ceeb); /* Degradado de azul oscuro a azul claro */
    color: white;
    padding: 30px 0;
    text-align: center;
    margin-top: 0; /* Eliminar el espacio gris entre navbar y pantalla de inicio */
    /* Quita centrado global, solo aplica en vertical */
    /* display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; */
}

.company-header h1 {
    padding-top: 20vh;
    font-size: 7vw;
    font-weight: 700;
    letter-spacing: 3px;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}

.company-header p {
    font-size: 2vw;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}

.company-header .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}

/* ===================== RESPONSIVE DESIGN ===================== */
@media (max-width: 900px) {
    .container {
        width: 95%;
        padding: 0 2vw;
    }
    .company-logo {
        height: 90px;
        padding-left: 2vw;
    }
    .company-header h1 {
        font-size: 10vw;
        padding-top: 10vh;
    }
    .company-header p {
        font-size: 4vw;
    }
    .navbar-container {
        flex-direction: row;
        padding: 0 1vw;
    }
    .nav-menu {
        padding-right: 2vw;
    }
}

@media (max-width: 700px) {
    .navbar {
        height: 10vh;
        min-height: 0;
    }
    .navbar-container {
        flex-direction: row;
        align-items: center;
        padding: 0 2vw;
    }
    .company-logo {
    }
    /* Aumentar el tamaño de los títulos de los cards de planes en modo vertical */
    .plan-card h3 {
        font-size: 2.1rem !important;
        line-height: 1.2 !important;
    }
    .plan-speed {
        font-size: 2.0rem !important;
    }
    .menu-toggle {
        display: block !important;
        background: none;
        border: none;
        cursor: pointer;
        margin-left: auto;
        z-index: 1001;
    }
    .menu-toggle .menu-icon {
        width: 5vh;
        height: 5vh;
        padding:0 2.2vw;
    }
    .nav-menu {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        background: #fff;
        flex-direction: column;
        align-items: flex-start;
        width: 100vw;
        max-width: 100vw;
        padding: 0;
        display: none;
        box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        z-index: 1000;
    }
    .nav-menu.show {
        display: flex;
    }
    .nav-menu li {
        width: 100%;
        margin: 0;
        border-bottom: 1px solid #eee;
        justify-content: flex-start;
        padding: 10px 20px;
    }
    .nav-menu a {
        font-size: 18px;
        width: 100%;
        padding: 10px 0;
    }
    .company-header {
        height: 80vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .company-header .container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%;
    }
}

@media (max-width: 500px) {
    .container {
        width: 100%;
        padding: 0 1vw;
    }
    .company-header h1 {
        font-size: 12vw;
        padding-top: 5vh;
    }
    .company-header p {
        font-size: 5vw;
    }
    .company-logo {
        height: 20vh;
    }
    .nav-menu a {
        font-size: 16px;
    }
}
