/* ================ 
Fuentes importadas
==================*/
@import url('https://fonts.googleapis.com/css2?family=SUSE:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=SUSE+Mono:ital,wght@0,100..800;1,100..800&family=SUSE:ital,wght@0,100..900;1,100..900&display=swap');

/*==================
Layouts generales
====================*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html{
    font-size:16px;
}
body, html {
    font-family: "SUSE", sans-serif;
    line-height: 1.6;
    position: relative;
    width: 100%;
    overflow-x: hidden;
}
h3{
    font-weight: 600;
    color: #0066FF;
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 1.5em;

}
/*inicio agregados*/
main{
    margin:auto;
    padding:2rem 5rem;
}
main h1{
    text-align:center;
    
    color: #0066FF;
    font-size: 2.1em;
    font-weight: 600;
    margin-bottom: 2rem;
}
main section{
    margin-bottom:4rem;
    margin-left:auto;
    margin-right: auto;
}
p{
    font-size: 1rem !important;
    margin-top:0px !important;
    margin-bottom:0.25rem !important   ;
}
li{
    font-size: 1rem !important;
}

    
@media (min-width:320px)  { /* smartphones, iPhone, portrait 480x320 phones */ 
main section{   max-width: 400px;}
header .nav-p{ width: 280px;}
}
@media (min-width:481px)  { /* portrait e-readers (Nook/Kindle), smaller tablets @ 600 or @ 640 wide. */ 
main section{   max-width: 600px;}
header .nav-p{ width: 360px;}
}
@media (min-width:641px)  { /* portrait tablets, portrait iPad, landscape e-readers, landscape 800x480 or 854x480 phones */ 
main section{   max-width: 700px;}
header .nav-p{ width: 480px;}
}
@media (min-width:961px)  { /* tablet, landscape iPad, lo-res laptops ands desktops */ 
main section{   max-width: 900px;}
header .nav-p{ width: 720px;}
}
@media (min-width:1025px) { /* big landscape tablets, laptops, and desktops */ 
main section{   max-width: 900px;}
header .nav-p{ width: 900px;}
}
@media (min-width:1281px) { /* hi-res laptops and desktops */ 
main section{   max-width: 1024px;}
header .nav-p{ width: 1024px;}
}
/*fin agregados*/
.animado-scroll{
    opacity: 0.1;
    transform: translateY(40px);
    transition: opacity 0.5s cubic-bezier(.4,0,.2,1), transform 0.7s cubic-bezier(.4,0,.2,1);
    will-change: opacity, transform;
}
.img-responsive {
 width: 100%;
 height: auto;
}

.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.flex-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.flex-column {
    display: flex;
    flex-direction: column;
}

.contenedor-centrado,
.container-centered {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.container-chico {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.fondo-general{
    background-color: #F0F6FF;
}

.borde-general-1{
    border-radius: 10px;
}

.borde-general-2{
    border-radius: 20px;
}

.margen-general{
    margin-top: 150px;
}
.padding-general{
    padding: 40px;
}

.ul-politica{
    list-style-position: inside;
    padding-left: 0;
    margin-left: 0;
}

/*Header*/
header, .nav-p{
     position: relative;
    z-index: 10;
    font-family: "SUSE", sans-serif;
}

.nav-p{
    position: relative;
    z-index: 10;
    
    margin: 0 auto;
    padding: 12px 70px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-radius: 12px;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
    background-color: white;
    margin-top:3px;
}
.logo a{display:flex;}
.logo img{
    max-width: auto;
    height: 30px;
}

.nav-container{
    display: flex;
    gap: 16px;
}

.nav1, .nav2 {
    display: flex;
    gap: 8px;
}

.nav1 a{
    text-decoration: none;
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 1rem;
    font-family: "SUSE", sans-serif;
    font-weight: 400;
    transition: background 0.25s;
}
.nav1 a { 
    color: #2563eb; 
}

.nav2 a { 
    text-decoration: none;
    color:#2563eb; 
}


.nav1 a:hover { 
    background: #eef2ff; 
}


.inicio{
    font-size: 1em;
}
/*hamburguesaaaa*/

.hamburguesa {
  display: none;
  flex-direction: column;
  border: none;
  gap: 4px;
  cursor: pointer;
  background: none;
}

.hamburguesa span {
  width: 26px; 
  height: 3px;
  display: block;
  background: #2563eb;
  border-radius: 2px;
}
/*fin hamburguesa*/
/*Fin Header*/

/*Main*/

/*Seccion principal o primera seccion*/
.seccion-principal{
    text-align: center;
    padding: 0;
    margin: 0;
}

.fondo-celeste {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    min-width: 100vw;
    height: clamp(42em, 60vw, 52em);
    min-height: 720px;
    background: #F0F6FF;
    border-radius: 0 0 50% 50%;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    margin: 0;
    padding-top: 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.wave-container {
    width: 100vw;
    height: 900px; 
    overflow: hidden;
    position: absolute;
    left: 50%;
    top: 50px;     
    z-index: 1;
    transform: translateX(-50%);
}


.dynamic-wave {
    color: #0066ff; 
    width: 200%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    animation: wave-motion 12s linear infinite;
}

/* Wave más pronunciada para desktop */
.wave-mobile {
    display: none;
}

.wave-desktop {
    display: block;
}

/* Wave más sutil para tablets y móviles */
@media (max-width: 991px) {
    .wave-desktop {
        display: none;
    }
    
    .wave-mobile {
        display: block;
    }
}

@keyframes wave-motion {
    0% {
        transform: translate3d(0, -50%, 0);
    }
    100% {
        transform: translate3d(-50%, -50%, 0);
    }
}
.wave-container, .dynamic-wave {
    pointer-events: none;
}


.primer-titulo {
    font-size: clamp(1rem, 1vw + 0.5rem, 1.2rem);
    max-width: 1200px;
    line-height: 1.4;
    color: #000000;
    text-align: center;
    position: relative;
    z-index: 10;
    padding: 0 20px;
    margin: 0 auto 20px auto;
    padding-top: clamp(20px, 3vw, 60px);
}
.primer-titulo h1 {
    font-size: clamp(1.6rem, 2.5vw, 2.8rem); 
    font-weight: 500;
    margin-bottom: 12px;
    line-height: 1.2;
}

.primer-titulo h2 {
    font-size: clamp(1.8rem, 3vw, 2.6rem); 
    font-weight: 700;
    margin: 0;
    line-height: 1.1;
    text-align: center;
    display: block;
    width: 100%;
}
.Galeria-1 {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    max-width: 900px;
    height: 650px;
    z-index: 2;
    gap: 3vw;
    pointer-events: none;
}


.Galeria-1 img {
    width: 100%;
    height: 100%;
    max-height: 420px;
    aspect-ratio: 10/19;
    object-fit: contain;
    display: block;
}

.Contenedor-celular-1{  
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0; 
    width: clamp(7em, 36vw, 22em);
    max-width: 92vw;
    min-width: 5em;
    aspect-ratio: 10/19;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    z-index: 3;
    opacity: 0;
    animation: slideUpCelular 0.9s ease-out 0.14s forwards;
}

.celular-galeria.activo-centro.animando {
    animation: bounceCentro 0.47s;
}

.celular-galeria {
    width: 420px;
    max-width: 100vw;
    height: 420px;
    transition: transform 0.6s cubic-bezier(.47,.12,.52,1), z-index 0s;
    will-change: transform;
    z-index: 1;
    filter: brightness(1) grayscale(10%);
    z-index: 1;
    pointer-events: auto;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.celular-galeria img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
}

.celular-galeria.carrusel-centro {
    transform: scale(1) translateY(-50px);
    z-index: 3;
}

/* Celulares izquierda y derecha */
.celular-galeria.carrusel-izq,
.celular-galeria.carrusel-der {
    transform: scale(1) translateY(-22px);
    z-index: 2;
}

.fondo-celeste::after {
    content: "";
    display: block;
    width: 100vw;
    height: clamp(16em, 32vw, 28em); 
}

/*Seccion advertencia*/
.seccion-advertencia{
    margin-top: 0px;
    text-align: center;
    font-size: 0.9em;
    padding: 28px 50px;
    max-width: 700px;
    min-width: 220px;
    margin-left: auto;
    margin-right: auto;
    background-color: #F0F6FF;
    border-radius: 30px;
    position: relative;
    align-items: center;
    display: flex;
    flex-direction: column;
    width: 94vw;
}

.seccion-advertencia img{
    max-width: 90px;
    width: 60px;
    height: auto;
    margin-bottom: 8px;
}

.seccion-advertencia h3 {
    margin: 10px 0 8px 0;
    font-size: 1.25em;
    color: #0066FF;
}
.seccion-advertencia p {
    margin: 0;
    margin-bottom: 8px;
    font-size: 1.04em;
    line-height: 1.5;
}

/*Seccion beneficios*/

.seccion-beneficios{
    margin-top: 150px;
    margin-bottom: 70px;
    padding: 0 20px;
    max-width: 1800px;
    margin-left: auto;
    margin-right: auto;
}

.titulo-beneficios-principal{
    text-align: center; 
    font-size: 2em;
    max-width: 800px;
    margin: 0px auto 50px; 
    line-height: 1.2;
}

.titulo-beneficios{
    text-align: center; 
    font-size: 2em;
    max-width: 800px;
    margin: 0px auto 50px; 
    line-height: 1.2;
    color: #0066FF;
}

.grid-beneficios {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  justify-content: center;
  align-items: stretch;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
}

.box-beneficios {
    border-radius: 28px;
    padding: 28px 24px 32px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    min-width: 0;
    align-items: flex-start;      
    text-align: left;
    height: auto;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.box-beneficios h3{  
    margin-bottom: 6px; 
    width: 100%;
    font-size: 1.20em;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.box-beneficios-azul{
  background: #2563eb;
  color: white;
}

.box-beneficios-azul h3{
    color: white;
}
.icono-beneficio {
  width: 72px;
  height: 72px;
  object-fit: contain;
  margin-bottom: 18px;
}

.icono-beneficio-chico{
    width: 60px;    
    height: 72px;

}
.box-beneficios p {
  margin: 0;
  width: 100%;
  font-size: 1em;
  line-height: 1.5;
}

/*Servicios y beneficios exclusivos*/
.Seccion-beneficios-exclusivos{
    display: flex;
    background-color: #F0F6FF;
    max-width: 1100px;
    width: 100%;
    min-height: 500px;
    height: auto;
    overflow: hidden;
    margin: 150px auto 0 auto;
    border-radius: 0 0 40px 40px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.05);
    padding: 0;
}

.Contenedor-beneficios-exclusivos{
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 40px 60px;
    min-width: 0;
    background: transparent;
    text-align: left;
}

.Imagen-celular-2{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0;
    margin: 0;
}

.Contenedor-celular-2{
    display: flex;
    align-items: center;
    overflow: hidden;
    min-height: 500px;
    max-width: 550px;
    position: relative;
    flex-basis: 50%;
    flex-shrink: 0;
}


/*recompensas*/

.Seccion-recompensas{
    display: flex;
    background-color: #F0F6FF;
    border-radius: 0px 0px 40px 40px; 
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    max-width: 1100px; 
    margin: 40px auto;
    overflow: hidden;
    margin-top: 150px;
    min-height: 500px;
    height: auto;
}

.Contenedor-recompensas-img{       
    display: flex; 
    align-items: center;
    overflow: hidden; 
    min-height: 500px; 
    max-width: 550px; 
    position: relative; 
    flex-basis: 50%; 
    flex-shrink: 0;
}

.Contenedor-recompensas-info{
    flex: 1;
    padding: 40px 60px; 
    display: flex; 
    flex-direction: column;
    justify-content: center;
    text-align: justify;
}

.Contenedor-recompensas-info h3 {
    text-align: justify;
}

.imagen-recompensas{
    width: 100%;
    height: 100%;
    object-fit: cover;
    
}

.p-recompensa{
    margin-bottom: 10px;
    text-align: justify;
}

.Lista-recompensas{
    list-style: disc inside;
    margin-bottom: 20px;
    padding-left: 30px;
    text-align: left;
}


.Seccion-sumate{
    margin-top: 150px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;     
    min-height: 225px;
    width: 100%;
    margin-bottom: 100px;
}
/*
.Contenedor-curva{
 position: absolute;
    left: 0; right: 0; top: 0;
    width: 100%;
    z-index: 0;
    pointer-events: none;
    overflow: visible;
    height: 145px;
}

.Contenedor-curva img {
    width: 100%;
    height: 350px;
    display: block;
}
    */

.Contenedor-sumate{
     position: relative;
    background: #F0F6FF;
    border-radius: 15px;
    box-shadow: 0 8px 28px rgba(37,99,235,0.10);
    max-width: 770px;
    margin: -30px auto 0 auto; /* el negativo lo sube sobre la curva */
    padding: 40px 18px 35px 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 2;
    margin-bottom: 90px;
    margin-top: 70px;

}

.Contenedor-sumate h2 {
    margin-bottom: 32px;
    font-size: 2em;
    color: #232b42;
    font-weight: 400;
}

.boton-sumate {
    background:  #0066FF;
    color: #fff;
    border: none;
    border-radius: 20px;
    padding: 15px 10px;
    font-size: 1.17em;
    font-weight: 400;
    cursor: pointer;
    margin-top: 30px;
    transition: background 0.22s, box-shadow 0.16s, transform 0.11s;
    letter-spacing: 0.07em;
}

.boton-sumate:hover,
.boton-sumate:focus {
    background: #1946ad;
    transform: translateY(-2px) scale(1.045);
    outline: none;
}



/*Formulario de contacto
.Seccion-formulario {
    background-color: #0066FF;
    color: white;
    width: 100%;
    left: 50%;
    right: 50%;
    margin-left: -50vw;     
    margin-right: -50vw;
    padding: 60px 0;
    min-width: 100vw;
    position: relative;
    display: flex;
    justify-content: center; 
    align-items: center;
}
.Contenedor-formulario{
    max-width: 800px; 
    width: 100%;
    padding: 20px;
    text-align: center;
}

.Titulo-formulario{
    padding-top: 30px;
    padding-bottom: 10px;
}

.Sub-formulario{
    padding-bottom: 40px;
}

.grupo-campos {
    display: grid;
    gap: 20px; 
    margin-bottom: 20px;
}

.columnas2 {
    grid-template-columns: 1fr 1fr;
}

.columnas3 {
    grid-template-columns: 1fr 1fr 1fr;
}

input, select {
    background-color: white;
    border: none;
    border-radius: 5px;
    padding: 15px 20px;
    font-size: 1rem;
    color: gray;
}

.Contenedor-boton-siguiente{
    width: 100%;
    display: flex !important;
    justify-content: center !important;
    margin-top: 16px;
}

.boton-siguiente {
    background: #10042B;
    color: #ffffff;
    border-radius: 42px;
    min-width: 120px;
    padding: 13px 26px;
    font-size: 1.09em;
    font-weight: 600;
    border: none;
    margin: 0 auto;
    margin-top: 8px;
    cursor: pointer;
    box-shadow: 0 3px 16px rgba(0,0,0,0.09);
    transition: background 0.2s, color 0.2s;
    display: block;
}
.boton-siguiente :hover {
    background: #e6ecfa;
    color: #1946ad;
}

*/
/*Seccion descarga*/

.seccion-descarga{
    margin-top: 150px;
}

.contenedor-descarga{
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
}

.contenido-descarga {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 600px;
}

.contenido-descarga ol {
    margin: 0;
    padding-left: 20px;
    text-align: left;
}

.contenido-descarga li {
    margin-bottom: 10px;
    text-align: left;
}

.h3-descarga {
    text-align: justify;
    letter-spacing: normal;
    word-spacing: normal;
    hyphens: auto;
}

.titulo-descarga {
    text-align: justify;
    font-size: 1.6rem;
}

.p-descarga {
    text-align: justify;
    font-size: 1rem;
    
    margin-bottom: 10px;
}

.btn-descarga {
    display: flex;
    gap: 20px;
    align-items: center;
}

.btn-descarga a {
    display: block;
    width: 150px;
}

.btn-descarga a img {
    width: 100%;
    height: auto;
}

.imagen-descarga {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.celular-descarga {
    width: 450px;
    height: auto;
}

/* Responsive: Sección Descarga */
@media (max-width: 1024px) {
    .contenedor-descarga {
        gap: 30px;
        padding: 0 20px;
    }
    
    .contenido-descarga {
        max-width: 500px;
    }
    
    .celular-descarga {
        width: 380px;
    }
}

@media (max-width: 768px) {
    .seccion-descarga {
        margin-top: 80px;
    }
    
    .contenedor-descarga {
        flex-direction: column;
        gap: 40px;
        padding: 0 20px;
    }
    
    .contenido-descarga {
        max-width: 100%;
        align-items: center;
        text-align: center;
        gap: 10px;
        order: 2;
    }
    
    .h3-descarga {
        text-align: left;
    }
    
    .titulo-descarga {
        text-align: justify;
        font-size: 1.4rem;
    }
    
    .p-descarga {
        text-align: center;
        margin-bottom: 10px;
    }
    
    .btn-descarga {
        flex-direction: row;
        justify-content: center;
        flex-wrap: nowrap;
        gap: 15px;
        margin-top: 5px;
    }
    
    .btn-descarga a {
        width: 140px;
    }
    
    .imagen-descarga {
        display: flex;
        order: 1;
        margin-bottom: 20px;
    }
    
    .celular-descarga {
        width: 280px;
    }
}

@media (max-width: 480px) {
    .seccion-descarga {
        margin-top: 60px;
    }
    
    .contenedor-descarga {
        gap: 30px;
        padding: 0 15px;
    }
    
    .contenido-descarga {
        gap: 8px;
        order: 2;
    }
    
    .h3-descarga {
        text-align: left;
    }
    
    .titulo-descarga {
        text-align: justify;
        font-size: 1.2rem;
    }
    
    .p-descarga {
        font-size: 0.9rem;
        margin-bottom: 8px;
    }
    
    .btn-descarga {
        flex-direction: row;
        gap: 10px;
        margin-top: 5px;
    }
    
    .btn-descarga a {
        width: 130px;
    }
    
    .imagen-descarga {
        display: flex;
        order: 1;
        margin-bottom: 15px;
    }
    
    .celular-descarga {
        width: 240px;
    }
    
    .Footer_Header {
        align-items: flex-start !important;
        text-align: left !important;
    }
}

/*Seccion Preguntas frecuentas*/

.Seccion-Preguntas{
    padding: 60px 20px;
    max-width: 850px;
    margin: 80px auto 0 auto;
    text-align: center;

}

.titulo-preguntasFAQ{
    margin-bottom: 20px;
}

.Contenedor-preguntas{
    text-align: left;
}

.contenedor-boton-vermas {
    text-align: center;
    margin-top: 30px;
}

.boton-vermas {
    padding: 10px 10px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.boton-vermas:hover {
    background-color: #0056b3;
}

.boton-vermas a {
    color: white;
    text-decoration: none;
}
.preguntas-ocultas {
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    overflow: hidden;
    display: none;
}

.preguntas-ocultas.mostrar{
    opacity: 1;
    display: block;
    transform: translateY(0);
}

.preguntas-ocultas.ocultar{
    opacity: 0;
    display: none;
    transform: translateY(-10px);
}
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.pregunta-FAQ summary {
    font-size: 1.1em;
    font-weight: 500;
    cursor: pointer;
    padding: 15px 0;
    list-style: none;
    transition: color .22s;
    outline: none;
    position: relative;

}
.pregunta-FAQ summary:before {
    content: "+";
    float: right;
    font-size: 1.5em;
    font-weight: 300;
    color: #0066FF;
    margin-left: 10px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.pregunta-FAQ[open] summary:before {
    content: "-";
    color: #0066FF;
    transform: rotate(180deg) scale(1.25);
}

.respuesta-FAQ{
    color: gray;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease, margin-bottom 0.3s ease;
}

.pregunta-FAQ[open] .respuesta-FAQ {
    max-height: 500px;
    opacity: 1;
    margin-bottom: 12px;
}

.pregunta-FAQ.is_open summary:before {
    content: "-";
}

.separador-FAQ{
    margin-top: 10px;
}

/*=====FOOTER=========*/

.Pie_Pagina {
    background-color: #2c3e50; /* Azul oscuro */
    color: white;
    padding: 60px 0 0 0;
    margin-top: 80px;
}

.Enlaces_Pie_Pagina {
    list-style: none;
    padding: 0;
    margin-top: 0; 
}

.Enlaces_Pie_Pagina li {
    margin-bottom: 10px;
    list-style: none;
    padding: 0;
    margin-left: 0;
}

.Enlaces_Pie_Pagina a {
    color: rgb(142, 142, 142);
    text-decoration: none;
    transition: color 0.3s ease;
}

.Enlaces_Pie_Pagina a:hover {
    color: #3498db;
}

/* === Nuevo Footer === */
.Footer {
    display: grid;
    gap: 32px;
    padding: 0 20px 40px 20px;
}

.Footer_Header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.Footer_Logo {
    width: 200px;
    height: 200px;
}

.Footer_Description {
    color: rgb(142, 142, 142);
    line-height: 1.6;
    max-width: 520px;
}

.Footer_Social {
    display: flex;
    gap: 12px;
    margin-top: 10px;
}

.Social_Link {
    color: #bdc3c7;
    text-decoration: none;
}

.Social_Icon {
    width: 28px;
    height: 28px;
}

.Footer_Columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
}

.Footer_Column {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: left;
}

.Footer_Column h4 {
    margin-bottom: 5px;
    text-align: left;
}

.Pie_Pagina_Inferior {
    background-color: #1a252f;
    padding: 20px 0;
    border-top: 1px solid #34495e;
}

.Pie_Pagina_Inferior .container-centered {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    padding: 0 20px;
}

.Enlaces_Legales {
    display: flex;
    gap: 20px;
}

.Enlace_Legal {
    color: #bdc3c7;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.Enlace_Legal:hover {
    color: #3498db;
}

.btn-cuenta {
    background: transparent;
    border: 2px solid #007bff;
    color: #007bff;
    padding: 0.5rem 1.5rem;
    border-radius: 25px;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: "SUSE", sans-serif;
    font-weight: 500;
}

.btn-cuenta:hover {
    background: #007bff;
    color: white;
}

.btn-cuenta.logged-in {
    border-color: #28a745;
    color: #28a745;
}

.btn-cuenta.logged-in:hover {
    background: #28a745;
    color: white;
}

/* Footer: Media Queries */
@media (min-width: 992px) {
    .Footer_Columns { grid-template-columns: repeat(4, 1fr); }
    .Footer_Logo{
        height: 45px;
    }
}

@media (min-width: 1200px) and (max-width: 1600px) {
    .Footer_Columns { grid-template-columns: repeat(4, 1fr); }
    .Footer_Logo{
        height: 45px;
    }
}

@media (min-width: 1601px) {
    .Footer_Columns { grid-template-columns: repeat(4, 1fr); }
    .Footer_Logo{
        height: 45px;
    }
}



@media (max-width: 575px) {
    
    .Footer_Logo{
        height: 45px;
    }
    .Pie_Pagina_Inferior  {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }
}



/*======================================================
Responsive y extras importados
======================================================*/

@import url('https://fonts.googleapis.com/css2?family=SUSE:ital,wght@0,100..900;1,100..900&display=swap');


/* =======================================================
    RESPONSIVE: PANTALLAS EXTRA GRANDES (>1600px)
======================================================= */
@media (min-width: 1601px) {
    main {
        max-width: 1800px;
        margin: 0 auto;
    }
    
    .fondo-celeste {
        height: clamp(48em, 58vw, 56em);
        min-height: 820px;
        padding-top: 100px;
        border-radius: 0 0 50% 50%;
    }
    
    .primer-titulo {
        padding-top: 60px;
        margin-bottom: 40px;
        max-width: 1800px;
    }
    
    .primer-titulo h1 {
        font-size: clamp(2rem, 2.8vw, 3.5rem);
        margin-bottom: 10px;
        line-height: 1.3;
        white-space: nowrap;
        text-align: center;
    }
    
    .primer-titulo h2 {
        font-size: clamp(2.2rem, 3.5vw, 3.2rem);
        line-height: 1.35;
        white-space: nowrap;
        text-align: center;
    }
    
    .Galeria-1 {
        height: 700px;
        max-width: 1000px;
        bottom: 80px;
    }
    
    .Galeria-1 img {
        max-height: 600px;
    }
    
    .wave-container {
        height: 1100px;
        top: 10px;
    }
    
    .celular-galeria.carrusel-centro {
        transform: scale(1) translateY(-15px);
    }
    
    .contenedor-centrado {
        max-width: 1600px;
    }
    
    .seccion-beneficios {
        padding: 0 40px;
        max-width: 2000px;
    }
    
    .box-beneficios {
        padding: 32px 28px 36px 28px;
        height: auto;
        min-height: 320px;
    }
    
    .box-beneficios h3 {
        font-size: 1.1em;
        margin-bottom: 10px;
    }
    
    .box-beneficios p {
        font-size: 0.95em;
        line-height: 1.5;
    }
    
    .grid-beneficios {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 40px;
        padding: 0;
        width: 100%;
        align-items: stretch;
    }
    
    .nav-p {
        padding: 12px 80px;
    }
}


/* =======================================================
    RESPONSIVE: LAPTOP GRANDE (1200px ~ 1600px)
======================================================= */
@media (min-width: 1200px) and (max-width: 1600px) {
    h2 {
        font-family: "SUSE", sans-serif;
        font-weight: 500;
    }
    
    main {
        max-width: 1600px;
        margin: 0 auto;
    }
    
    .fondo-celeste {
        height: clamp(46em, 63vw, 54em);
        min-height: 660px;
        padding-top: 90px;
        border-radius: 0 0 50% 50%;
    }
    
    .primer-titulo {
        padding-top: 50px;
        margin-bottom: 80px;
    }
    
    .Galeria-1 {
        height: 650px;
        bottom: 60px;
    }
    
    .Galeria-1 img {
        max-height: 450px;
    }
    
    .wave-container {
        height: 800px;
        top: 150px;
    }
    
    .celular-galeria.carrusel-centro {
        transform: scale(1) translateY(-15px);
    }
    
    .contenedor-centrado {
        max-width: 1400px;
    }
    
    .seccion-beneficios {
        padding: 0 30px;
        max-width: 1850px;
    }
    
    .box-beneficios {
        padding: 30px 26px 34px 26px;
        height: auto;
    }
    
    .box-beneficios h3 {
        font-size: 1.1em;
        margin-bottom: 10px;
    }
    
    .box-beneficios p {
        font-size: 0.95em;
        line-height: 1.5;
    }
    
    .grid-beneficios {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 32px;
        padding: 0;
        width: 100%;
        max-width: 900px;
        margin: 0 auto;
        align-items: stretch;
    }
    
    
}

/* =======================================================
    Ajuste específico para 1200px-1300px
======================================================= */
@media (min-width: 1200px) and (max-width: 1300px) {
    .primer-titulo {
        margin-bottom: 80px !important;
    }
    
    .Galeria-1 {
        bottom: 40px !important;
    }
}

/* =======================================================
    RESPONSIVE: DESKTOP / LAPTOP MEDIANO (992px ~ 1199px)
======================================================= */
@media (min-width: 992px) and (max-width: 1199px) {
    h2 {
        font-family: "SUSE", sans-serif;
        font-weight: 400;
    }
    
    main {
        max-width: 1000px;
        margin: 0 auto;
    }
    
    .fondo-celeste {
        height: clamp(42em, 58vw, 48em);
        min-height: 700px;
        padding-top: 80px;
        border-radius: 0 0 50% 50%;
    }
    
    .primer-titulo {
        padding: 40px 25px 0 25px;
        margin-bottom: 45px;
        line-height: 1.35;
    }
    
    .primer-titulo h1 {
        font-size: clamp(1.3rem, 2.2vw, 1.9rem);
        margin-bottom: 10px;
        line-height: 1.3;
        white-space: nowrap;
        text-align: center;
    }
    
    .primer-titulo h2 {
        font-size: clamp(1.5rem, 3vw, 2.1rem);
        line-height: 1.35;
        white-space: nowrap;
        text-align: center;
    }
    
    .Galeria-1 {
        max-width: 800px;
        height: 580px;
        gap: 2.5vw;
        bottom: 80px;
    }
    
    .Galeria-1 img {
        max-height: 360px;
    }
    
    .wave-container {
        height: 700px;
        top: 90px;
    }
    
    .celular-galeria.carrusel-centro {
        transform: scale(1) translateY(-10px);
    }
    
    .grid-beneficios {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
        max-width: 700px;
        margin: 0 auto;
    }
    
    .box-beneficios {
        height: auto;
        padding: 26px 22px 26px 22px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }
    
    .box-beneficios h3 {
        font-size: 1.05em;
        margin-bottom: 8px;
    }
    
    .box-beneficios p {
        font-size: 0.92em;
        line-height: 1.45;
    }
    
    .nav-p {
        padding: 12px 60px;
    }
}


/* =======================================================
    RESPONSIVE: TABLET GRANDE (768px ~ 991px)
======================================================= */
@media (min-width: 768px) and (max-width: 991px) {
    h2 {
        font-family: "SUSE", sans-serif;
        font-weight: 400;
    }
    
    main {
        max-width: 100%;
        padding: 15px;
    }
    
    .fondo-celeste {
        height: clamp(40em, 52vw, 48em);
        min-height: 650px;
        padding-top: 70px;
        border-radius: 0 0 50% 50%;
    }
    
    .celular-galeria.carrusel-izq,
    .celular-galeria.carrusel-der {
        display: none !important;
    }
   
    .primer-titulo {
        padding: 30px 20px 0 20px;
        margin-bottom: 40px;
        line-height: 1.4;
    }
    
    .primer-titulo h1 {
        font-size: clamp(1.2rem, 2vw, 1.7rem);
        margin-bottom: 10px;
        line-height: 1.35;
    }
    
    .primer-titulo h2 {
        font-size: clamp(1.4rem, 2.8vw, 1.9rem);
        line-height: 1.4;
    }
    
    .Galeria-1 {
        max-width: 700px;
        height: 520px;
        gap: 2vw;
    }
    
    .Galeria-1 img {
        max-height: 380px;
        border-radius: 12px;
    }
    
    .wave-container {
        height: 700px;
        top: 30px;
    }
    
    .celular-galeria.carrusel-centro {
        transform: scale(1) translateY(-45px);
    }
    
    .grid-beneficios {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        max-width: 100%;
        padding: 0 20px;
    }
    
    .box-beneficios {
        height: auto;
        padding: 22px 18px 22px 18px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }
    
    .box-beneficios h3 {
        font-size: 0.95em;
    }
    
    .box-beneficios p {
        font-size: 0.78em;
        line-height: 1.3;
    }
    
    .boton-sumate {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    .titulo-beneficios-exclusivos {
        font-size: 1.8rem;
    }
    
    .Seccion-sumate {
        min-height: 400px;
    }
    
    .Seccion-recompensas {
        flex-direction: row;
        min-height: 450px;
    }
    
    .Seccion-beneficios-exclusivos {
        min-height: 450px;
    }
    
    .Contenedor-recompensas-img {
        max-width: 100%;
        min-height: 300px;
    }
    
    .Contenedor-sumate {
        max-width: 650px;
        padding: 25px 20px;
        margin: 0 auto;
    }
    
    .Contenedor-sumate h1 {
        font-size: 1.3rem;
        margin-bottom: 15px;
    }
    
    .Contenedor-sumate img {
        width: 160px;
        margin-top: 15px;
    }
}


/* =======================================================
    RESPONSIVE: TABLET PEQUEÑA / CELULAR GRANDE (576px ~ 767px)
======================================================= */
@media (min-width: 576px) and (max-width: 767px) {
    h2 {
        font-family: "SUSE", sans-serif;
        font-weight: 400;
    }
    
    main {
        padding: 20px;
    }
    
    .fondo-celeste {
        height: clamp(26em, 40vw, 30em);
        min-height: 440px;
        padding-top: 60px;
        border-radius: 0 0 50% 50%;
    }
    
    .celular-galeria.carrusel-izq,
    .celular-galeria.carrusel-der {
        display: none !important;
    }
    
    .primer-titulo {
        padding: 10px 8px 0 8px;
        margin-bottom: 30px;
        line-height: 1.2;
    }
    
    .primer-titulo h1 {
        font-size: clamp(1.3rem, 2vw, 1.7rem);
        margin-bottom: 6px;
        line-height: 1.2;
    }
    
    .primer-titulo h2 {
        font-size: clamp(1.1rem, 1.7vw, 1.3rem);
        line-height: 1.2;
    }
    
    .Galeria-1 {
        max-width: 600px;
        height: 360px;
        gap: 2vw;
        margin: 0 auto;
    }
    
    .Galeria-1 img {
        max-height: 300px;
        border-radius: 10px;
    }
    
    .wave-container {
        height: 400px;
        top: 10px;
    }
    
    .celular-galeria.carrusel-centro {
        transform: scale(1) translateY(-20px);
    }
    
    .grid-beneficios {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        padding: 0 15px;
    }
    
    .box-beneficios {
        height: auto;
        padding: 18px 12px;
    }
    
    .boton-sumate {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    .titulo-beneficios-principal {
        font-size: 1.6rem;
    }
    
    .Contenido-suuam img {
        width: 200px;
    }
    
    .main-quienes {
        padding: 2rem 1.5rem;
        max-width: 95%;
    }

}


/* =======================================================
    RESPONSIVE: CELULARES (<576px)
======================================================= */
@media (max-width: 575px) {
    .primer-titulo {
        padding: 0 12px !important;
        margin-bottom: 60px !important;
        line-height: 1.5 !important;
        max-width: 95% !important;
    }
    
    .primer-titulo h1 { 
        font-size: 1.19rem !important;
        margin-bottom: 8px !important;
        line-height: 1.45 !important;
    }
    
    .primer-titulo h2 { 
        font-size: 1.33rem !important;
        line-height: 1.5 !important;
    }
    
    main { 
        padding: 5px; 
    }
    
    .fondo-celeste {
        height: clamp(17em, 30vw, 21em);
        padding-top: 7vw;
    }
    
    .celular-galeria.carrusel-izq,
    .celular-galeria.carrusel-der {
        display: none !important;
    }
    
    .Galeria-1 {
        max-width: 500px;
        height: 280px;
        gap: 2vw;
        margin: 0 auto;
    }
    
    .Galeria-1 img { 
        max-height: 190px; 
        border-radius: 8px; 
    }
    
    .wave-container {
        height: 620px;
        top: 50px;
    }
    
    .celular-galeria.carrusel-centro {
        transform: scale(1) translateY(-55px);
    }
    
    .Contenedor-curva img {
        display: none !important;
    }
    
    .seccion-advertencia img {
        padding-top: 10px;
        width: 50px !important;
    }
    
    .grid-beneficios {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
        padding: 0 15px;
        gap: 22px;
    }
    
    .box-beneficios {
        width: 100%;
        max-width: 340px;
        min-width: 0;
        height: auto;
        margin: 0 auto;
        border-radius: 20px;
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        box-shadow: 0 4px 14px rgba(0,0,0,0.07);
        padding: 24px 20px 28px 20px;
    }
    
    .box-beneficios h3, 
    .box-beneficios p {
        text-align: left;
        width: 100%;
        padding-left: 0.1em;
    }
    
    .icono-beneficio {
        width: 60px !important;
        height: 80px !important; 
        min-width: 40px !important;
        margin: 0 0 16px 0 !important;
        align-self: flex-start !important;
        flex-shrink: 0 !important;
    }
    
    .Seccion-beneficios-exclusivos {
        flex-direction: column !important;
        gap: 0 !important;
        align-items: stretch !important;
        padding: 0 !important;
        margin: 30px 0 0 0 !important;
        min-height: auto !important;
        height: auto !important;
        border-radius: 0 0 40px 40px !important;
        overflow: hidden !important;
    }
    
    .Contenedor-beneficios-exclusivos {
        width: 100%;
        max-width: 100%;
        margin: 0 auto 0 auto;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 0 20px 20px 20px;
    } 
    
    .Contenedor-beneficios-exclusivos h3 {
        margin-top: 0;
    }
    
    .titulo-beneficios-exclusivos,
    .lista-servicios {
        text-align: left !important;
        width: 100% !important;
        margin: 0 0 8px 0 !important;
    }
    
    .titulo-beneficios-exclusivos {
        margin-top: 0 !important;
        margin-bottom: 10px !important;
        font-size: 1.10em !important;
    }
    
    .lista-servicios {
        max-width: 390px;
        margin-bottom: 2px !important;
        font-size: 0.98em !important;
        padding-left: 22px !important;
    }
    
    .Contenedor-celular-2 {
        order: -1;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        width: 100%;
        min-height: 400px;
        max-width: 100%;  
        padding: 0;
        overflow: hidden;
    }
    
    .Imagen-celular-2 {
        width: 100%;
        height: 100%;
        max-width: none;
        min-width: 100%;
        min-height: 100%;
        object-fit: cover;
        object-position: top center;
        margin: 0;
        display: block;
        padding-bottom: 40px;
    }
    
    .Seccion-sumate {
        min-height: initial !important;
        flex-direction: column !important;
        align-items: stretch !important;
        margin-top: 40px !important;
    }
    
    .Contenedor-curva img {
        height: 50vw;
        min-height: 90px;
    }
    
    .Contenedor-sumate {
        padding: 12px 4vw !important;
        max-width: 98vw !important;
        font-size: 1rem !important;
    }
    
    .Contenedor-sumate h2 {
        font-size: 1.1rem !important;
    }
    
    .Seccion-recompensas {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 0 !important;
        max-width: 100% !important;
        margin: 30px 0 0 0 !important;
        min-height: auto !important;
        height: auto !important;
        border-radius: 0 0 40px 40px !important;
        overflow: hidden !important;
        gap: 0;
    }
    
    .Contenedor-recompensas-img {
        max-width: 100%;
        width: 100%;
        padding: 0;
        min-width: 0;
        min-height: 400px;
        overflow: hidden;
        align-items: flex-start;
        padding-bottom: 40px;
    }
    
    .Contenedor-recompensas-info {
        max-width: 100%;
        width: 100%;
        padding: 0 20px 20px 20px;
        min-width: 0;
    }
    
    .imagen-recompensas {
        width: 100%;
        height: 100%;
        min-height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: top center;
    }
    
    .titulo-beneficios-principal, 
    .titulo-beneficios-exclusivos { 
        font-size: 1.1rem; 
    }
    
    .Contenedor-recompensas-info h3 {
        margin-top: 0;
        margin-bottom: 10px;
        text-align: left;
    }
    
    .boton-sumate {
        font-size: 0.9em !important;
        padding: 10px 20px !important;
        margin-top: 15px !important;
        border-radius: 15px !important;
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    .Contenedor-beneficios-exclusivos .boton-sumate,
    .Contenedor-recompensas-info .boton-sumate {
        align-self: center !important;
    }
    
    .grupo-campos, 
    .columnas2, 
    .columnas3 {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
        width: 100% !important;
    }
    
    input, select {
        width: 100% !important;
        font-size: 1em !important;
        border-radius: 9px !important;
        padding: 12px 12px !important;
    }
    
    .Contenedor-boton-siguiente {
        width: 100%;
        display: flex !important;
        justify-content: center !important;
        margin-top: 16px;
    }
    
    .Seccion-Preguntas {
        max-width: 100vw !important;
        padding: 26px 3vw !important;
        margin: 30px 0 !important;
    }
    
    /*
    .img-responsive {
        max-width: 20vw;
        width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 0 !important;
    }
    */
    .logo img {
        max-width: 100px !important;
        margin: 0px 40px !important;
    }
}


/* =======================================================
    RESPONSIVE: CELULARES M (361px ~ 420px)
======================================================= */
@media (min-width: 361px) and (max-width: 420px) {
    .fondo-celeste {
        height: clamp(18em, 30vw, 22em) !important;
        min-height: 330px !important;
        padding-top: 40px !important;
        border-radius: 0 0 45% 45%;
    }
    
    .primer-titulo {
        padding: 15px 10px 0 10px !important;
        margin-bottom: 55px !important;
        line-height: 1.55 !important;
    }
    
    .primer-titulo h1 {
        font-size: 1.05rem !important;
        margin-bottom: 6px !important;
        line-height: 1.5 !important;
    }
    
    .primer-titulo h2 {
        font-size: 1.2rem !important;
        line-height: 1.55 !important;
    }
    
    .Galeria-1 {
        max-width: 420px !important;
        height: 280px !important;
        margin: 0 auto;
    }
    
    .Galeria-1 img {
        max-height: 180px !important;
    }
    
    .wave-container {
        height: 330px !important;
    }
    
    .nav-p {
        padding: 12px 50px 12px 70px;
    }
    
    .logo img {
        max-width: 90px !important;
    }
}

/* =======================================================
    RESPONSIVE: IPHONE PRO MAX Y SIMILARES (421px ~ 575px)
======================================================= */
@media (min-width: 421px) and (max-width: 575px) {
    .primer-titulo {
        margin-bottom: 60px !important;
    }
    
    .fondo-celeste {
        height: clamp(18em, 32vw, 22em);
        min-height: 360px;
        padding-top: 50px;
    }
    
    .Galeria-1 {
        max-width: 450px;
        height: 290px;
        margin: 0 auto;
    }
    
    .Galeria-1 img {
        max-height: 190px;
    }
    
    .wave-container {
        height: 420px;
    }
    
    /* Ajustar boxes para celulares L */
    .box-beneficios {
        padding: 22px 18px 22px 18px !important;
        max-width: 300px !important;
        width: 82vw !important;
    }
}

/* Ajustes específicos para celulares M (361px ~ 420px) */
@media (min-width: 361px) and (max-width: 420px) {
    .box-beneficios {
        padding: 20px 16px 20px 16px !important;
        max-width: 280px !important;
        width: 80vw !important;
    }
    
    /* Asegurar que las imágenes ocupen todo el espacio en mobile M */
    .Contenedor-celular-2 {
        min-height: 350px !important;
    }
    
    .Imagen-celular-2 {
        min-height: 350px !important;
    }
    
    .Contenedor-recompensas-img {
        min-height: 350px !important;
    }
    
    .imagen-recompensas {
        min-height: 350px !important;
    }
}



/* =======================================================
    RESPONSIVE: CELULARES S (<360px)
======================================================= */
@media (max-width: 360px) {
    .fondo-celeste {
        height: clamp(18em, 32vw, 22em);
        min-height: 330px;
        padding-top: 35px;
        border-radius: 0 0 45% 45%;
    }
    
    .primer-titulo {
        padding: 12px 8px 0 8px !important;
        margin-bottom: 28px !important;
        line-height: 1.6 !important;
        max-width: 98% !important;
    }
    
    .primer-titulo h1 {
        font-size: 0.95rem !important;
        margin-bottom: 5px !important;
        line-height: 1.55 !important;
    }
    
    .primer-titulo h2 {
        font-size: 1.1rem !important;
        line-height: 1.6 !important;
    }
    
    .Galeria-1 {
        max-width: 380px;
        height: 260px;
        margin: 0 auto;
    }
    
    .Galeria-1 img {
        max-height: 160px;
    }
    
    .wave-container {
        height: 380px;
    }
    
    .celular-galeria.carrusel-centro {
        transform: scale(1.15) translateX(0) translateY(0);
    }
    
   
    .logo img {
        max-width: 80px !important;
    }
    
    
    .Contenedor-celular-2 {
        min-height: 380px;
        height: auto;
        align-items: flex-start;
    }
    
    .Imagen-celular-2 {
        min-height: 380px;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: top center;
    }
    
    .Contenedor-recompensas-img {
        min-height: 380px;
        height: auto;
        align-items: flex-start;
    }
    
    .imagen-recompensas {
        min-height: 380px;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: top center;
    }
}

/* =======================================================
    RESPONSIVE: MENÚ HAMBURGUESA NAV (dispositivos <1024px)
======================================================= */
@media (max-width: 1024px) {
    main { 
        margin-top: 45px; 
    }
    
    .fondo-celeste {
        padding-top: 65px;
    }
    
    .celular-galeria.carrusel-centro {
        transform: scale(1) translateX(0) translateY(0);
    }
    
    .nav-p {
        z-index: 30; 
        position: fixed;
        top: 0; 
        left: 0; 
        right: 0; 
        height: 45px;
        display: flex; 
        align-items: center; 
        justify-content: center;
        padding: 6px 60px 6px 20px; 
        background: white;
        box-shadow: 0 4px 18px rgba(0,0,0,0.1);
        border-radius: 0 0 12px 12px;
               padding-left: 20px;
        padding-right: 20px;
    }
    
    .logo {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .logo img {
        height: 22px !important;
        max-width: none !important;
    }
    
    .nav-container {
        z-index: 2; 
        position: fixed; 
        top: 55px; 
        padding-bottom: 20px;
        left: 0;    
        right: 0;   
        padding-left: 20px;  
        padding-right: 60px; 
        flex-direction: column; 
        align-items: center; 
        display: none;
        max-width: 100vw;    
        margin: 10px 0 0 0;
        border-radius:14px 14px 14px 14px;
        box-shadow: 0 4px 18px rgba(0,0,0,0.12); 
        gap: 0; 
        padding-top: 26px; 
        background: white;
    }
    
    .nav-container.open { 
        display: flex; 
        animation: fadeDown 0.25s; 
    }
    
    .hamburguesa { 
        display: flex; 
        position: absolute; 
        right: 18px; 
        top: 9px; 
        z-index: 2; 
        background: white; 
        border-radius: 8px; 
        padding: 6px; 
    }
    
    @keyframes fadeDown {
        0% { opacity: 0; transform: translateY(-12px); }
        100% { opacity: 1; transform: translateY(0); }
    }
    
    .nav1, .nav2 {
        flex-direction: column; 
        width: 100%;
        margin: 0; 
        gap: 8px; 
        background: none;
    }
    
    .nav1 a, .nav2 a {
        padding: 10px 30px; 
        text-align: left;
        font-size: 1.3em; 
        color: #2563eb;
        background: none; 
        text-decoration: none;
    }
    
    .nav1 a:hover, .nav2 a:hover { 
        background: #afc4ec; 
    }

    .nav-container .btn-cuenta {
    border: none;
    background: none;
    color: #2563eb;
    border-radius: 6px;
    font-size: 1.3em;
    font-family: "SUSE", sans-serif;
    font-weight: 400;
    text-align: left;
    box-shadow: none;
    padding: 10px 30px;
    transition: background 0.25s, color 0.2s;
    width: auto;      /* No cambia tamaño de nav */
    min-width: 0;
    max-width: 100%;
    margin: 0;        /* No cambia layout */
    display: block;   /* Como los a */
  }

  .nav-container .btn-cuenta:hover,
  .nav-container .btn-cuenta:focus {
    background: #eef2ff;
    color: #1946ad;
    outline: none;
  }

    .nav-link-group {
    display: flex;
    align-items: center;
    padding: 0 16px;
    margin: 0 0 4px 0;
  }
  .icono-nav {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .icono-nav img {
    width: 24px;
    height: 24px;
  }
  .divider {
    width: 2px;
    min-width: 2px;
    background: #2563eb;
    height: 22px;
    margin: 0 20px 0 20px;
    border-radius: 2px;
  }
  .nav-link-group a,
  .nav-link-group .btn-cuenta {
    flex: 1 1 auto;
    color: #2563eb;
    text-decoration: none;
    background: transparent;
    border: none;
    font-family: inherit;
    font-size: 1.22em;
    padding: 10px 0;
    text-align: left;
    transition: background 0.18s;
    outline: none;
    display: block;
  }
  .nav-link-group a:hover,
  .nav-link-group .btn-cuenta:hover,
  .nav-link-group .btn-cuenta:focus {
    background: #eef2ff;
  }
}



/* =======================================================
    RESPONSIVE: DIÁLOGO DE LOGIN
======================================================= */
@media (max-width: 768px) {
    .login-dialog {
        max-width: 95%;
    }
    
    .dialog-content {
        padding: 1.5rem;
    }
    
    .dialog-content h2 {
        font-size: 1.5rem;
    }
}

footer .quienes{
 text-align: center;
  padding: 1.5rem 0 1rem 0;
  font-size: 1rem;
  background: var(--color-nav-bg);
  color: #999;
  margin-top: auto;
}

/* Estilos para botón de cuenta y login */
.btn-cuenta {
    background: transparent;
    border: 2px solid #007bff;
    color: #007bff;
    padding: 0.5rem 1.5rem;
    border-radius: 25px;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: "SUSE", sans-serif;
    font-weight: 500;
    display: inline-block;
    text-align: center;
}

.btn-cuenta a {
    color: inherit;
    text-decoration: none;

}

.btn-cuenta:hover {
    background: #007bff;
    color: white;
}

.btn-cuenta.logged-in {
    border-color: #F17D10;
    color: #F17D10;
}

.btn-cuenta.logged-in:hover {
    background: #F17D10;
    color: white;
}

/* Estilos para el Dialog Modal de Login */
.login-dialog {
    border: none;
    border-radius: 12px;
    padding: 0;
    max-width: 400px;
    width: 90%;
    margin:auto;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.login-dialog::backdrop {
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(3px);
}

.dialog-content {
    padding: 2rem;
    position: relative;
}

.close-dialog {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: transparent;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    color: #999;
    line-height: 1;
    transition: color 0.3s ease;
}

.close-dialog:hover {
    color: #333;
}

.dialog-content h2 {
    margin-bottom: 1.5rem;
    color: #333;
    font-size: 1.75rem;
    text-align: center;
}

.form-group {
    margin-bottom: 1.25rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    color: #555;
    font-weight: 500;
    text-align: left;
}

.form-group input {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 1rem;
    font-family: "SUSE", sans-serif;
    transition: border-color 0.3s ease;
}

.form-group input:focus {
    outline: none;
    border-color: #007bff;
}

.error-message {
    color: #dc3545;
    font-size: 0.9rem;
    margin-bottom: 1rem;
    text-align: center;
    min-height: 20px;
}

.btn-login {
    width: 100%;
    padding: 0.875rem;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
    font-family: "SUSE", sans-serif;
}

.btn-login:hover {
    background: #0056b3;
}

.btn-login:disabled {
    background: #6c757d;
    cursor: not-allowed;
}

/* ❌ NO NECESARIO - Duplicado, ya consolidado arriba
/* Responsive
@media (max-width: 768px) {
    .login-dialog {
        max-width: 95%;
    }
    
    .dialog-content {
        padding: 1.5rem;
    }
}
*/

/*======================================================
    pagina preguntas frecuentes
======================================================*/

.seccion-faq {
    padding: 60px 20px;
    max-width: 850px;
    margin: 80px auto;
    text-align: center;
}

.titulo-faq {
    margin-bottom: 40px;
    font-size: 2em;
    color: #0066FF;
    font-weight: 600;
    text-align: center;
}

.contenedor-faq {
    text-align: left;
}

.contenedor-faq h4 {
    font-size: 1.1em;
    font-weight: 500;
    cursor: pointer;
    padding: 15px 0;
    margin: 0;
    color: #232b42;
    border-bottom: 1px solid #e0e0e0;
}

.contenedor-faq .respuestas {
    color: gray;
    padding: 15px 0;
    line-height: 1.6;
}

.contenedor-faq .respuestas li {
    margin-left: 20px;
    margin-bottom: 8px;
}

/* Estilos para la flecha de scroll */
.flecha-scroll {
  position: fixed;
  bottom: 32px;
  right: 24px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  padding: 0px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  opacity: 0.5;
  transition: opacity 0.3s;
  z-index: 1000;
  cursor: pointer;
  text-decoration: none;
  display: none; /* Oculta por defecto */
  background-color: white;
}
.flecha-scroll:hover {
  opacity: 1;
}

.flecha-scroll img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* =======================================================
    Responsive nav para problemas con 1025px a 1280px al 
    iniciar sesion con la cuenta
======================================================= */

@media (min-width:1025px) and (max-width:1280px) {
  .nav-p {
    width: 98vw;
    min-width: 0;
    max-width: 1220px;
    padding: 10px 32px;
    gap: 6px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap; /* Importante! */
    box-sizing: border-box;
  }

  .logo {
    flex: 0 0 auto;
    margin-right: 22px;
    padding-left: 20px;
  }

  .logo img {
    height: 30px;
    width: auto;     
    max-width: 160px; 
    margin-right: 0; 
    display: block;
  }


  .nav-container {
    display: flex;
    flex-direction: row;
    width: auto;
    gap: 12px;
    justify-content: flex-end;
    align-items: center;
    flex: 1 1 auto;
  }

  .nav1, .nav2 {
    display: flex;
    flex-direction: row;
    gap: 9px;
    align-items: center;
    flex-wrap: nowrap;
  }

  .nav1 a {
    white-space: nowrap;
    font-size: 1em;
    padding: 5px 11px;
    margin: 0;
    min-width: 78px;
    text-align: center;
    box-sizing: border-box;
  }

  .nav2 {
    margin-left: 16px;
  }
  
  .btn-cuenta {
    max-width: 160px;
    min-width: 100px;
    font-size: 0.8em;
    padding: 6px 16px;
    box-sizing: border-box;
    white-space: nowrap;
  }
}


@media (min-width:320px)  { /* smartphones */
main section{   max-width: 400px;}
header .nav-p{ width: 280px;}
/* PATCH - para .nav-container, igual que nav-p */
.nav-container { 
    max-width: 280px; 
    left: 0; 
    right: 0; 
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
}
}
@media (min-width:481px)  { /* tablets chicas */
    main section { max-width: 600px; }
    header .nav-p { width: 360px; }
    .nav-container { max-width: 360px; left: 0; right: 0; margin: 0 auto; }
}
@media (min-width:641px)  { /* tablets grandes */
    main section { max-width: 700px; }
    header .nav-p { width: 480px; }
    .nav-container { max-width: 480px; left: 0; right: 0; margin: 0 auto; }
}
@media (min-width:961px)  { /* desktops chicos */
    main section { max-width: 900px; }
    header .nav-p { width: 720px; }
    .nav-container { max-width: 720px; left: 0; right: 0; margin: 0 auto; }
}
@media (min-width:1025px) { /* desktops medianos */
    main section { max-width: 900px; }
    header .nav-p { width: 1024px; }
    .nav-container { 
        left: auto;
        right: auto;
        margin: 0;
        max-width: none;
    }
}


/*======================================================
    Quienes somos
======================================================*/

.main-quienes {
    background: #fff;
    margin: 0;
    padding: 0;
    max-width: 100%;
    min-width: 0;
    text-align: left;
    position: relative;
}

.main-quienes h1 {
    color: #0066FF;
    font-size: 2em;
    font-weight: 600;
    text-align: center;
    font-family: inherit;
}

.main-quienes h3 {
    text-align: justify;
    letter-spacing: 0.08em; 
    margin-left: 0; 
    width: 100%; 
}

.main-quienes > section:not(.quienes-intro) {
    padding: 60px 20px;
    max-width: 900px;
    margin: 0 auto;
}

.imagen-divisora-valores {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
    margin: 0;
}

.seccion-valores .valores-contenido {
    display: block;
}

.seccion-valores .valores-img {
    display: none;
}

.seccion-valores .valores-texto {
    width: 100%;
}

.seccion-valores h3 {
    text-align: justify;
    margin-top: 0;
    font-size: 1.4em;
}

.seccion-valores ul {
    text-align: justify;
    font-size: 0.9em;
}

.seccion-valores li {
    text-align: justify;
    font-size: 0.9em;
    line-height: 1.6;
}

.seccion-mision .mision-contenido {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}

.seccion-mision .mision-img {
    width: 450px;
    height: 350px;
    object-fit: cover;
    flex-shrink: 0;
}

.seccion-mision .mision-texto {
    flex: 1;
}

.seccion-mision h3 {
    margin-top: 0;
}

.seccion-mision p {
    text-align: justify;
    word-spacing: normal;
    text-align-last: left;
}

.seccion-equipo .equipo-contenido {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}

.seccion-equipo .equipo-img {
    width: 450px;
    height: 350px;
    object-fit: cover;
    flex-shrink: 0;
}

.seccion-equipo .equipo-texto {
    flex: 1;
}

.seccion-equipo h3 {
    margin-top: 0;
}

.seccion-equipo p {
    text-align: justify;
    word-spacing: normal;
    text-align-last: left;
}

.main-quienes p {
    font-size: 1em;        
    line-height: 1.65;        
    color: #232b42;           
    margin-bottom: 1.5em;      
    text-align: justify;      
    max-width: 100%;           
    margin-left: 0;    
}

.main-quienes ul {
    margin-left: 1.5em;
    margin-bottom: 1.5em;
    padding-left: 1em;
    list-style-type: disc;
    color: #232b42;
    font-size: 1em;
    line-height: 1.65;
}
.main-quienes p,
.main-quienes ul,
.main-quienes li {
    text-align: justify;
}

.main-quienes strong {
    color: #2563eb;
    font-weight: bold;
}

.flex-quienes {
    display: flex;
    gap: 2.8em;
    margin-bottom: 2em;
}

.quienes-banner-top {
    width: 100%;
    height: 700px;
    
    object-fit: cover;
    display: block;
    margin: 0;
    margin-top: -80px;
    padding: 0;
    position: relative;
    z-index: 0;
}

/* Responsive Quienes Somos - Tablets (768px - 991px) */
@media (max-width: 991px) and (min-width: 768px) {
    .quienes-banner-top {
        height: 350px;
        margin-top: -100px;
    }

    .main-quienes h1 {
        font-size: 1.8em;
    }

    .main-quienes h3 {
        font-size: 1.3em;
        text-align: left;
    }

    .main-quienes > section:not(.quienes-intro) {
        padding: 40px 20px;
    }
    /* Alinear bloque de texto con el resto de secciones */
    .main-quienes .quienes-texto-bloque {
        padding: 40px 20px;
        max-width: 900px;
        margin: 0 auto;
    }

    .imagen-divisora-valores {
        height: 300px;
    }

    .seccion-mision .mision-contenido {
        flex-direction: column;
        gap: 30px;
    }

    .seccion-mision .mision-img {
        width: 100%;
        height: 300px;
        order: -1;
    }

    .seccion-mision .mision-texto {
        width: 100%;
    }

    .seccion-mision p {
        text-align: left;
    }

    .seccion-equipo .equipo-contenido {
        flex-direction: column;
        gap: 30px;
    }

    .seccion-equipo .equipo-img {
        width: 100%;
        height: 300px;
        order: 1;
    }

    .seccion-equipo .equipo-texto {
        width: 100%;
    }

    .seccion-equipo p {
        text-align: left;
    }
}

/* Responsive Quienes Somos - Mobile mediano (576px - 767px) */
@media (max-width: 767px) and (min-width: 576px) {
    .quienes-banner-top {
        height: 250px;
        margin-top: -80px;
    }

    .main-quienes h1 {
        font-size: 1.5em;
    }

    .main-quienes h3 {
        font-size: 1.2em;
        text-align: left;
    }

    .main-quienes > section:not(.quienes-intro) {
        padding: 30px 15px;
    }
    /* Alinear bloque de texto con el resto de secciones */
    .main-quienes .quienes-texto-bloque {
        padding: 30px 15px;
        max-width: 900px;
        margin: 0 auto;
    }

    .main-quienes p {
        text-align: left;
        font-size: 0.95em;
    }

    .imagen-divisora-valores {
               height: 220px;
    }

    .seccion-mision .mision-contenido {
        flex-direction: column;
        gap: 20px;
    }

    .seccion-mision .mision-img {
        width: 100%;
        height: 250px;
        order: -1;
    }

    .seccion-mision .mision-texto {
        width: 100%;
    }

    .seccion-mision p {
        text-align: left;
    }

    .seccion-equipo .equipo-contenido {
        flex-direction: column;
        gap: 20px;
    }

    .seccion-equipo .equipo-img {
        width: 100%;
        height: 250px;
        order: 1;
    }

    .seccion-equipo .equipo-texto {
        width: 100%;
    }

    .seccion-equipo p {
        text-align: left;
    }
}

/* Responsive Quienes Somos - Mobile pequeño (≤575px) */
@media (max-width: 575px) {
    .quienes-banner-top {
        height: 200px;
        margin-top: -60px;
    }

    .main-quienes h1 {
        font-size: 1.3em;
    }

    .main-quienes h3 {
        font-size: 1.1em;
        text-align: left;
    }

    .main-quienes > section:not(.quienes-intro) {
        padding: 25px 15px;
    }
    /* Alinear bloque de texto con el resto de secciones */
    .main-quienes .quienes-texto-bloque {
        padding: 25px 15px;
        max-width: 900px;
        margin: 0 auto;
    }

    .main-quienes p {
        text-align: left;
        font-size: 0.9em;
    }

    .imagen-divisora-valores {
        height: 180px;
    }

    .seccion-valores h3 {
        text-align: left;
    }

    .seccion-valores ul {
        text-align: left;
        font-size: 0.85em;
    }

    .seccion-valores li {
        text-align: left;
        font-size: 0.85em;
    }

    .seccion-mision .mision-contenido {
        flex-direction: column;
        gap: 15px;
    }

    .seccion-mision .mision-img {
        width: 100%;
        height: 200px;
        order: -1;
    }

    .seccion-mision .mision-texto {
        width: 100%;
    }

    .seccion-mision p {
        text-align: left;
    }

    .seccion-equipo .equipo-contenido {
        flex-direction: column;
        gap: 15px;
    }

    .seccion-equipo .equipo-img {
        width: 100%;
        height: 200px;
        order: 1;
    }

    .seccion-equipo .equipo-texto {
        width: 100%;
    }

    .seccion-equipo p {
        text-align: left;
    }
}

.main-quienes .quienes-intro {
    margin-bottom: 0;
    margin-top: 0;
}

.main-quienes .quienes-titulo {
    color: #0066FF;
    font-size: 2.5em;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 0.85em;
    font-family: inherit;
    line-height: 1.15;
}

.main-quienes .quienes-intro-contenido {
    display: block;
    position: relative;
}

.main-quienes .quienes-img-grande {
    width: 100%;
    height: 400px;
    max-width: 100%;
    object-fit: cover;
    border-radius: 0;
    box-shadow: none;
    display: block;
    margin: 0;
}

.main-quienes .quienes-texto-bloque {
    padding: 60px 20px;
    max-width: 900px;
    margin: 0 auto;
}

.main-quienes .quienes-intro-contenido p {
    margin: 0;
    color: #232b42;
    line-height: 1.65;
    text-align: justify;
}


/* =======================================================
    RESPONSIVE: PÁGINA QUIÉNES SOMOS
======================================================= */
@media (max-width: 800px) {
    .main-quienes {
        padding: 1.5rem 1rem;
        margin: 1.2rem auto;
        max-width: 95vw;
    }
    
    .main-quienes h1 {
        font-size: 1.5rem;
    }
    
    .main-quienes .quienes-titulo {
        font-size: 1.8rem;
    }
    
    .main-quienes p {
        font-size: 1rem;
        text-align: left;
    }
}

@media (max-width: 700px) {
    .main-quienes .quienes-intro-contenido {
        flex-direction: column;
        align-items: center;
    }
    
    .main-quienes .quienes-img-grande {
        width: 95vw;
        height: 95vw;
        max-width: 280px;
        max-height: 280px;
        margin-bottom: 1em;
    }
    
    .main-quienes .quienes-titulo {
        font-size: 1.5rem;
    }
    
    .main-quienes h1 {
        font-size: 1.3rem;
    }
}
