 * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: 'Segoe UI', sans-serif;
    }
/* Scrollbar completa */
::-webkit-scrollbar {
  width: 12px; /* ancho vertical */
  height: 12px; /* alto horizontal */
}

/* Fondo del track */
::-webkit-scrollbar-track {
  background: transparent; /* Fondo transparente */
  border-radius: 5px; /* Bordes redondeados */
}

/* Parte móvil del scroll */
::-webkit-scrollbar-thumb {
  background-color: #ffb287;
  border-radius: 10px;
  border: 2px solid #ffb287;
}

/* Al pasar el cursor */
::-webkit-scrollbar-thumb:hover {
  background: #555;
}

    body {
      background: linear-gradient(135deg, #0f2027, #203a43, #2c5364);
      color: #fff;
      min-height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 20px;
    }

    .container {
      background: rgba(0, 0, 0, 0.4);
      backdrop-filter: blur(15px);
      border-radius: 20px;
      box-shadow: 0 0 40px rgba(255, 178, 135, 0.5);
      display: flex;
      flex-direction: row;
      max-width: 1200px;
      width: 100%;
      overflow: hidden;
    }

    .form-section {
      flex: 1;
      padding: 40px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .logo {
      text-align: center;
      margin-bottom: 20px;
    }

    .logo img {
      max-width: 200px;
    }

    .tabs {
      display: flex;
      margin-bottom: 20px;
      background: rgba(255, 255, 255, 0.05);
      border-radius: 8px;
      overflow: hidden;
    }

    .tab {
      flex: 1;
      text-align: center;
      padding: 12px;
      cursor: pointer;
      font-weight: bold;
      color: #ccc;
      transition: background 0.3s, color 0.3s;
    }

    .tab.active {
      background: #e1651a;
      color: #fff;
    }

    form {
      display: none;
      flex-direction: column;
      gap: 15px;
      margin-top: 20px;
    }

    form.active {
      display: flex;
    }

    input {
      padding: 14px;
      border: none;
      border-radius: 8px;
      background: rgba(255,255,255,0.1);
      color: #fff;
      transition: 0.3s;
    }

    input:focus {
      outline: none;
      background: rgba(0,194,146,0.1);
      box-shadow: 0 0 5px #e1651a;
    }

    input::placeholder {
      color: #bbb;
    }

    button {
      background: #e1651a;
      color: white;
      border: none;
      padding: 14px;
      border-radius: 8px;
      font-size: 1em;
      cursor: pointer;
      transition: background 0.3s;
    }

    button:hover {
      background: #fa5f01;
    }

    .error {
      background: #ff4d4d;
      color: white;
      padding: 10px;
      border-radius: 6px;
      text-align: center;
      font-size: 0.9em;
      display: none;
    }

    .social-section {
      margin-top: 30px;
      text-align: center;
    }

    .social-icons {
      display: flex;
      justify-content: center;
      gap: 20px;
      margin-top: 10px;
    }

    .social-icons a {
      font-size: 28px;
      color: #ccc;
      transition: 0.3s;
    }

    .social-icons a:hover {
      color: #e1651a;
    }

    .info-section {
      width: 400px;
      background: rgba(0, 0, 0, 0.6);
      padding: 30px;
      display: flex;
      flex-direction: column;
      gap: 20px;
      align-items: center;
      justify-content: flex-start;
    }

    .info-section h3 {
      color: #e1651a;
      margin-bottom: 10px;
    }

    .preview {
      text-align: center;
      position: relative;
      width: 100%;
      overflow: hidden;
    }

    .carousel-preview {
      display: flex;
      width: 100%;
      animation: slide 20s infinite ease-in-out;
    }

    .carousel-preview img {
      min-width: 100%;
      border-radius: 12px;
      box-shadow: 0 0 10px rgba(0,194,146,0.3);
    }

    @keyframes slide {
      0% { transform: translateX(0); }
      20% { transform: translateX(0); }
      25% { transform: translateX(-100%); }
      45% { transform: translateX(-100%); }
      50% { transform: translateX(-200%); }
      70% { transform: translateX(-200%); }
      75% { transform: translateX(-300%); }
      95% { transform: translateX(-300%); }
      100% { transform: translateX(0); }
    }

    .carousel {
      position: relative;
      height: 180px;
      width: 100%;
      cursor: pointer;
    }

    .news-item {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      opacity: 0;
      transition: opacity 0.5s ease-in-out;
      color: #ccc;
    }

    .news-item.active {
      opacity: 1;
      position: relative;
    }

    .news-item h4 {
      margin-bottom: 5px;
      font-size: 1.1em;
      color: #fff;
    }

    .news-item p {
      font-size: 0.9em;
    }

    @media (max-width: 768px) {
      .container {
        flex-direction: column;
      }

      .info-section {
        width: 100%;
        border-top: 1px solid #444;
      }
    }

    /* modal2 */
    .modal2 {
      position: fixed;
      z-index: 999;
      left: 0; top: 0;
      width: 100vw; height: 100vh;
      background: rgba(0,0,0,0.7);
      display: none;
      justify-content: center;
      align-items: center;
    }

    .modal2-content {
      background: #1f2a38;
      padding: 30px;
      border-radius: 12px;
      max-width: 500px;
      width: 90%;
      color: #fff;
      box-shadow: 0 0 20px rgba(0,194,146,0.4);
      text-align: center;
      position: relative;
    }

    .modal2-content h4 {
      margin-bottom: 15px;
      color: #e1651a;
    }

    .modal2-content p {
      font-size: 0.95em;
      line-height: 1.6;
    }

    .close {
      position: absolute;
      top: 10px; right: 15px;
      font-size: 28px;
      color: #ccc;
      cursor: pointer;
    }

    .close:hover {
      color: #fff;
    }
	/* Estructura del checkbox */
/* Estructura del checkbox */
.control {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-size: 14px;
  user-select: none;
}

.control input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.control__indicator {
  width: 18px;
  height: 18px;
  background: #e6e6e6;
  border-radius: 3px;
  position: relative;
  margin-left: 8px;
  flex-shrink: 0;
  transition: background 0.3s;
}

/* ✔️ Estilo al marcar */
.control input:checked ~ .control__indicator {
  background: #e1651a; /* verde */
}

.control__indicator::after {
  content: '';
  position: absolute;
  display: none;
  left: 5px;
  top: 1px;
  width: 4px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.control input:checked ~ .control__indicator::after {
  display: block;
}

/* Enlace */
.terminos-link {
  cursor: pointer;
  text-decoration: underline;
  color: #e1651a;
  margin-left: 4px;
}

.terminos-link:hover {
  color: #218838;
}

    .modal2 {
      display: none;
      position: fixed;
      z-index: 999;
      left: 0; top: 0;
      width: 100%; height: 100%;
     background-color: rgba(0, 0, 0, 0.6);
      justify-content: center;
      align-items: center;
    }
    .modal2-content {
      padding: 20px;
      border-radius: 10px;
      text-align: center;
    }
    .modal2 button {
      margin: 10px;
      padding: 10px 15px;
      border: none;
      border-radius: 6px;
      font-size: 16px;
      cursor: pointer;
    }
    .apk {
      background-color: #4CAF50;
      color: white;
    }
    .browser {
      background-color: #2196F3;
      color: white;
    }
    .info {
      background-color: #f0ad4e;
      color: white;
    }
	.back { background-color: #777; color: white; margin-top: 20px; }

    .instructions {
      display: none;
      text-align: left;
      margin-top: 20px;
      font-size: 15px;
      line-height: 1.6;
    }
	 button {
      background: #e1651a;
      color: white;
      border: none;
      padding: 14px;
      border-radius: 8px;
      font-size: 1em;
      cursor: pointer;
      transition: background 0.3s;
    }

    button:hover {
      background: #fa5f01;
    }

.gender-option {
        display: inline-block;
        cursor: pointer;
        border: 2px solid transparent;
        border-radius: 8px;
        padding: 5px;
        transition: border-color 0.3s;
    }
    .gender-option img {
        width: 40px;
        height: 40px;
    }
    .gender-option.selected {
        border-color: #fa5f01; /* Color de borde para la opción seleccionada */
    }
    .gender-option input[type="radio"] {
        display: none;
    }