
/* ARRIBA EN EL TITULO */
#inicio {
 border-bottom: none;
}
 

#imagen_inicio {
    -webkit-mask-image: radial-gradient(120% 99% at 30% 0%, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%), radial-gradient(99% 100% at 70% 0%, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    opacity: 0.9;
    filter: none;
} 

#margen_inicio {
    border-bottom: var(--border);
}

#contenido {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--fondo);
}

#seccion {
    width: 100%;
    padding: 4rem 0;
	max-width: 1200px;
    margin: 0 auto;
}

#row_seccion {
    gap: 2rem;
    display: flex;
    flex-direction: row;
}

/* PLANES */
#row_planes {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 4rem;
}

.plan {
    overflow: hidden;
    position: relative;
    width: 50%;
    color: var(--color_p);
    border-radius: 16px;
    background: var(--background_div);
    box-shadow: rgba(0, 0, 0, 0.1) 0px 32px 16px, rgba(0, 0, 0, 0.1) 0px 16px 8px, rgba(0, 0, 0, 0.1) 0px 8px 4px, rgba(0, 0, 0, 0.1) 0px 4px 2px, rgba(0, 0, 0, 0.1) 0px 2px 1px;
}

.plan::after {
    z-index: 9999;
  content: "";
  position: absolute;
  inset: 0; /* ocupa todo el contenedor */
  border-radius: 16px;
  padding: 2px; /* grosor del borde difuminado */
  
  /* borde difuminado estilo gradiente gris */
  background: linear-gradient(180deg,
              rgba(140,140,140,0.3) 0%,
              rgba(128,128,128,0.2) 50%,
              rgba(110,110,110,0.2) 100%);
  -webkit-mask: 
      linear-gradient(#fff 0 0) content-box, 
      linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
  pointer-events: none; /* para no interferir con clicks */
  box-sizing: border-box;
}

.sello_imagen {
    z-index: 9;
    width: 8rem;
    top: 2rem;
    right: 2rem;
    position: absolute;
}

.texto_plan {
    position: relative;
    height: 100%;
    background: linear-gradient(180deg, rgba(50, 50, 50, 0.3) 0%, rgba(80, 80, 80, 0.2) 50%, rgba(100, 100, 100, 0.2) 100%);
    padding: 2rem;
}

.plan h2 {
    font-weight: 600;
    position: relative;
    font-size: 32px;
    padding: 2rem;
    border-bottom: var(--border);
}

.plan h3 {
    font-size: 2.2rem;
    margin-bottom: 2rem;
}

.plan ul {
    font-size: 20px;
    list-style: none;
}

.plan ul li {
    font-size: 16px;
    align-items: center;
    padding-top: 1rem;
    border-top: var(--border);
    padding: 1rem 0;
}

.plan ul li i {
    margin-right: 0.5rem;
    color: #00d200;
}

.plan strike {
    color: grey;
}

.plan .boton_plan {
    background: #2067d8;
    position: relative;
    margin-top: 1rem;
    border-radius: 16px;
    padding: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: #ffffff;
    cursor: pointer;
    border: var(--border);
}

.plan .boton_plan::after {
    z-index: 9999;
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 16px;
    padding: 2px;
    background: linear-gradient(180deg, rgba(140, 140, 140, 0.5) 0%, rgba(128, 128, 128, 0.4) 50%, rgba(110, 110, 110, 0.4) 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: destination-out;
    mask-composite: exclude;
    pointer-events: none;
    box-sizing: border-box;
}


#oferta {
    background: red;
    border-radius: 16px;
    padding: 0.2rem 0.5rem;
    color: white;
    font-size: 14px;
}

s {
    font-weight: 300;
    color: grey;
}

.text-center i {
    color: black;
    font-size: 32px;
}

/* APARTADO DE PAGAR */
#cesta {
    width: 50%;
    color: var(--color_p);
}

#cesta p {
    color: var(--color_p_dos);
    margin-bottom: 1rem;
}

#cesta h2 {
    font-size: 1.6rem;
}

#cesta ul {
    list-style: none;
}

#cesta ul li {
    border-bottom: var(--border);
    font-size: 1.5rem;
    padding: 0.5rem 0;
    display: flex;
    justify-content: space-between;
}


#popup_premium {
    backdrop-filter: blur(16px);
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    z-index:9999;
}

#popup_interior {
    flex-direction: column;
    display: flex;
    background: var(--background_div);
    border: var(--border);
    color: var(--color_p);
    border-radius: 16px;
    padding: 1rem;
    width: 90%;
    max-width: 400px;
    text-align: center;
    gap: 1rem;
}



@keyframes aurora-animation {
    from {
      background-position: 50% 50%, 50% 50%;
    }
    to {
      background-position: 250% 50%, 250% 50%; /* Reduce desplazamiento */
    }
  }

/* RESPONSIVE */
@media (max-width: 800px) {
	#seccion {
	    padding: 1rem;
	}
	
	input, select, textarea, #tipos button {
	    font-size: 1rem;
	}

    #seccion .examen h2 {
        font-size: 2rem;
    }
    
    #row_planes {
        flex-direction: column;
    }
    
    .plan {
        width: 100%;
    }
}

#iniciar_sesion {
    flex-direction: column;
    display: flex;
    gap: 1rem;
    border: var(--border);
    padding: 2rem;
    background: repeating-linear-gradient(-45deg, #27272a, #27272a 0px, transparent 1px, transparent 5px);
}

#iniciar_sesion h2 {
    font-weight: 400;
    font-size: 28px;
    color: var(--color_p);
}

#iniciar_sesion_cuadrados {
    background-image: linear-gradient(#27272a 1px, transparent 0px), linear-gradient(to right, #27272a 1px, transparent 0px);
    background-size: 36px 36px;
    color: var(--color_p);
}







.div_pasos {
        justify-content: space-around;
        margin-top: 2rem;
        gap: 2rem;
        margin-top: 4rem;
        margin-bottom: 4rem;
        display: flex;
        position: relative;
        z-index: 9999;
    }
    
    .div_pasos::before {
        height: 4px;
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        background: var(--background_div);
        border: var(--border);
        z-index: 1;
    }
    
    .paso {
        gap: 0.5rem;
        flex-direction: column;
        z-index: 99;
        margin-top: -1rem;
        position: relative;
        min-height: 40px;
        display: flex;
    }
    
    .paso_numero {
      left: 0;
      width: 35px;
      height: 35px;
      border-radius: 16px;
      background: var(--background_div);
      border: var(--border);
      color: var(--color_p);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      font-weight: bold;
      z-index: 2;
      cursor: pointer;
    }
    
    .paso_contenido {
        text-decoration: none;
        position: relative;
        color: var(--color_p);
    }
    
    .paso_titulo {
      margin: 0;
      color: var(--color_p);
      font-size: 1.5rem;
      font-weight: bold;
      display: inline-block;
    }
    
    .paso_descripcion {
        color: var(--color_p_dos);
    }
    
    .permiso {
        border: var(--border);
        border-radius: 16px;
        background: var(--background_div);
        padding: 1rem;
    }
    
    .paso_numero {
        transition: background 0.3s ease;
    }
    
    /* Paso actual */
    .paso.activo .paso_numero {
        background: #ff9800; /* naranja actual */
    }
    
    /* Pasos completados */
    .paso.completado .paso_numero {
        background: #2ecc71; /* verde */
    }
