/* ========== (ENCABEZADO, BODY, PIE DE PAGINA) ========== */

    /* ===== TODOS LOS ELEMENTOS DE LA PAGINA ===== */
    
    *{
        margin:0;
        padding:0;
        box-sizing:border-box;
        
    }
    
/* ===== HEADER ===== */
    
    :root
    {
    --header-height:110px;
    }
    
    header
    {
        position:fixed;
        top:0;
        left:0;
        width:100%;
        background:#000;
        color:#fff;
        box-shadow:0 3px 10px rgba(0,0,0,.3);
        z-index:1000;
        
        height:var(--header-height);
        
    }
    
    .header-container
    {
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:10px 150px;
        max-width:1800px;
        margin:auto;
        
    }
    
    .logo img
    {
        height:100px;
        width:auto;
        
    }
    
    nav ul
    {
        list-style:none;
        display:flex;
        align-items:center;
        gap:20px;
        
    }
    
    nav a
    {
        color:#fff;
        text-decoration:none;
        font-weight:500;
        transition:.3s;
        
    }
    
    nav a:hover
    {
        color:#9C9C9C; /* ========== COLOR AL POSICIONARSE SOBRE UN ELEMENTO DEL MENU ======== */
    }
    
    .menu-toggle
    {
        display:none;
        font-size:1.8rem;
        cursor:pointer;
        color:white;
        z-index:1103;
    }
    
/* ========= MODIFICACIÓN DE TAMAÑO PARA EL ENCABEZADO EN MOVIL ========== */

    @media (max-width:768px)
    {
      .header-container
      {
          padding:7px 7px;
          position:relative;
          display:flex;
          align-items:center;
          justify-content:space-between; /* ========== ALINEACION ESPACIO MENU, ENTRE LOGO E IMAGEN ========== */
      }
      
      .menu-toggle
      {
          display:block;
          position:absolute;
          left:15px;
          top:50%;
          transform:translateY(-50%);
      }
      
      .logo img
      {
          height:100px;
      }
      
      nav ul
      {
          position:absolute;
          top:100%;
          left:0;
          width:100%;
          background:#000;
          flex-direction:column;
          align-items:center;
          padding:20px 30px;
          gap:20px;
          border-top:1px solid #333;
          display:none;
      }
      
      nav ul.show
      {
          display:flex;
      }
      
      body
      {
          padding-top:140px!important;
      }
      
      .banner-slider
      {
          width:96%;
          margin-top:-10px;
      }
      
      .slide img
      {
          max-height:65vh;
          object-fit:contain;
      }
      
      .banner-slider button
      {
          width:38px;
          height:38px;
          font-size:1.2rem;
      }
      
      .productos-catalogo
      {
          grid-template-columns:repeat(2,1fr);
          gap:20px;
      }
      
      .producto img
      {
          max-width:150px;
      }
      
      .producto p
      {
          font-size:.9rem;
      }
      
      .productos
      {
          text-align:center;
          margin-top:60px;
      }
      
      .password-container .toggle-password /* ========== ALINEACION DEL OJO DENTRO DEL CAMPO PASSWORD Y A UN TAMAÑO PEQUEÑO, VERSION MOVIL ========== */
      {
        width: 22px !important;
        height: 22px !important;
        position: absolute !important;
        right: 12px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
      }
      
    }
    
/* ========= BODY ========= */
    
    body
    {
        font-family:'Poppins',sans-serif;
        color:#333;
        overflow-x:hidden;
        padding-top:var(--header-height); /* ========== PARA QUE EL ENCABEZADO NO TAPE EL CUERPO DE LA PAGINA ========== */
        
    }
    
    .h3
    {
        font-family:'Poppins',sans-serif;
        color:#333;
        font-size:3.9rem;
    }
    
/* ========== PIE DE PAGINA ========== */
    
    footer
    {
        background:#000;
        color:#fff;
        text-align:center;
        padding:12px; 0px;
        /*margin-top:auto;*/
        font-size:.9rem;
    }
    footer p
    {
        margin:0;
    }
    
    body
    {
        font-family:'Poppins',sans-serif;
        color:#333;
        overflow-x:hidden;
        padding-top:var(--header-height);
        display:flex;
        flex-direction:column;
        min-height:100dvh;
    }
    
    main
    {
    flex: 1;
    }
    
/* ======= FORMATO DEL BOTON SELECCIONADO YA SEA (IOS O ANDROID) PARA LA INSTALACION ========== */

  .btn-instalar.active
  {
      background-color: #000000;
      color: #FFFFFF;
      transform: scale(1.15); /* ========== HACERLO GRANDE AL SELECCIONARLO ========== */
  }
  .btn-instalar
  {
      margin: 30px;
      width: auto;
      text-align: center;
      background-color: #f2f2f2;  
      color: #000000;           
      padding: 10px 15px;
     border-radius: 30px;
     border: none;
     font-weight: bold;
     cursor: pointer;
     transition: all 0.15s ease;
  }
  .btn-instalar:hover
  {
      background-color: #000000;
      color: #FFFFFF;
      border-radius: 30px; 
  }

/* ======= FORMATO PARA EL ENCABEZO ARRIBA DE LOS BOTONES ========== */

  #install-box h2
  {
    font-family: 'Allerta Stencil', sans-serif;
    text-align: center;
    font-size: 17px;
    letter-spacing: 1px;
    margin: 15px auto;
    max-width: 700px;
    line-height: 1.3;
    color: #000000;
  }
  #install-box h3
  {
    font-family: 'Allerta Stencil', sans-serif;
    text-align: center;
    font-size: 17px;
    letter-spacing: .5px;
    margin: -3px auto;
    max-width: 700px;
    line-height: 1.3;
    color: #000000;
  }
  
/* ========== FORMATO PARA EL TEXTO DE INSTRUCCIONES ========== */

    /* ========== CONTENEDOR ========== */
    .wrapper
    {
        margin: 1px auto;
        padding: 1px;
        max-width: 500px;
        background-color: #f9f9f9;
        border-radius: 30px;
        box-shadow: 0 8px 20px rgba(0,0,0,0.08);
        animation: fadeIn 0.3s ease-in-out;
    }

    .wrapper p
    {
        font-family: 'Allerta Stencil', sans-serif;
        font-size: 15px;
        text-align: center;
        margin-bottom: 15px;
    }

    .wrapper ol
    {
        padding-left: 55px;
        font-size: 16px;
        line-height: 1.1;
    }

    .wrapper ol li
    {
        margin-bottom: 1px;
    }

    .wrapper h4                              
    {
        margin-top: 30px;
        font-size: 17px;
        color: #000000;
        font-family: 'Allerta Stencil', sans-serif;
        text-align: center;
        letter-spacing: .5px;
        max-width: 700px;
        line-height: 1.3;
    }

    @keyframes fadeIn
    {
        from { opacity: 0; transform: translateY(10px); }
        to { opacity: 1; transform: translateY(0); }
    }
 
 /* ========== ESTILO PARA LA ESTRUCTURA DEL LOGIN ========== */
    
    /* ========== CONTENEDOR ==========*/
    .login-container
    {
        width: 90%;
        max-width: 350px;
        text-align: center;
        margin: 40px auto;
    }

    /* ========== INPUTS ========== */
    .login-container input
    {
        width: 100%;
        padding: 14px;
        margin: 12px 0;
        border-radius: 10px;
        border: 1px solid #ccc;
        font-size: 14px;
    }

    /* ========== BOTÓN ========== */
    .btn-login
    {
        width: 100%;
        padding: 14px;
        margin-top: 15px;
        border: none;
        border-radius: 10px;
        font-size: 15px;
        font-weight: bold;
        cursor: pointer;
        transition: 0.3s;
        color: #FFFFFF;
        background: #000000;
    }
    
    /* ========== LINKS ========== */
    .login-container a
    {
        display: block;
        margin-top: 12px;
        color: #000;
        font-size: 14px;
        text-decoration: underline;
    }
    
/* ========== CAJA DE TEXTO DE PASSWORD (OJO PARA MOSTRAR CONTRASEÑA) ========== */
    
.password-container
{
    position: relative;
    width: 100%;
}

.password-container input
{
    width: 100%;
    padding-right: 45px; /* espacio para el ojo */
    box-sizing: border-box;
}

.password-container .toggle-password
{
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px !important;
    height: 22px !important;
    cursor: pointer;
    object-fit: contain;
}