* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      background: #0b1120;
      font-family: 'Segoe UI', system-ui, sans-serif;
      color: #f0f3fa;
      padding: 1rem;
      display: flex;
      justify-content: center;
    }

    .app {
      max-width: 1400px;
      width: 100%;
      background: transparent;
    }

    /* HEADER (logo + reproductor) */
    .main-header {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      align-items: center;
      background: #101826;
      border-radius: 2rem;
      padding: 0.8rem 1.5rem;
      margin-bottom: 1.5rem;
      border: 1px solid #ffaa44;
      justify-content: space-between;
    }

    .logo-box {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.3rem;
    }

    .logo-box img {
      max-width: 800px;
      border-radius: 1rem;
    }

    .radio-box {
      flex: 1;
    }

    .compact-player {
      width: 80%;
      min-width: 240px;
      max-width: 380px;
      border-radius: 40px;
      background: #1e2a3a;
    }

    .stream-note {
      font-size: 0.7rem;
      color: #ffcd94;
      margin-top: 0.2rem;
    }

    /* NAV HORIZONTAL */
    .top-nav {
      background: #1f2b3c;
      border-radius: 60px;
      padding: 0.2rem 1rem;
      margin-bottom: 2rem;
      border-bottom: 2px solid #ff9f4a;
    }

    .nav-list {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      list-style: none;
      gap: 0.2rem;
    }

    .nav-list > li {
      position: relative;
    }

    .nav-list > li > a {
      display: block;
      padding: 0.7rem 1.2rem;
      font-weight: bold;
      color: #ffefcf;
      text-decoration: none;
      border-radius: 40px;
      background: #2a3b4e;
      white-space: nowrap;
      transition: 0.2s;
    }

    .nav-list > li > a:hover {
      background: #ff8c42;
      color: #0b1120;
    }

    /* SUBMENÚ VERTICAL (10 opciones) */
    .submenu-vertical {
      position: absolute;
      top: 100%;
      left: 0;
      background: #17212b;
      list-style: none;
      min-width: 210px;
      border-radius: 1rem;
      padding: 0.5rem 0;
      opacity: 0;
      visibility: hidden;
      transform: translateY(-8px);
      transition: 0.2s;
      z-index: 200;
      border: 1px solid #ffaa55;
    }
/* RESET Y ESTILOS BASE */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* CONTENEDOR PRINCIPAL: simula la página Inforteca */
.inforteca-container {
    max-width: 1400px;
    margin: 0 auto;
    background: white;
    box-shadow: 0 0 20px rgba(0,0,0,0.05);
}

/* ===== MENÚ HORIZONTAL ===== */
.top-nav {
    background: #0a2b3e;  /* color base informática */
    border-bottom: 3px solid #00a8ff;
}

.nav-list {
    display: flex;
    list-style: none;      /* sin viñetas */
    margin: 0;
    padding: 0;
    justify-content: center;
    flex-wrap: wrap;       /* responsive: si no cabe, baja */
}

/* Cada elemento principal */
.nav-list > li {
    position: relative;
    margin: 0;
}

/* Enlaces principales */
.nav-list > li > a {
    display: block;
    padding: 16px 24px;
    color: #ecf0f1;
    text-decoration: none;   /* sin subrayado */
    font-weight: 600;
    font-size: 1rem;
    transition: 0.2s;
    letter-spacing: 0.5px;
}

.nav-list > li > a:hover {
    background-color: #00a8ff;
    color: #fff;
}

/* SUBMENÚ HORIZONTAL (oculto por defecto) */
.submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #1c3d4f;
    list-style: none;       /* sin viñetas */
    margin: 0;
    padding: 0;
    white-space: nowrap;     /* evita que los items bajen de línea */
    border-radius: 0 0 6px 6px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
    z-index: 1000;
}

/* Items del submenú en FILA (horizontal) */
.submenu li {
    display: inline-block;   /* horizontal */
    margin: 0;
}

/* Enlaces del submenú */
.submenu li a {
    display: block;
    padding: 12px 20px;
    color: #e0e0e0;
    text-decoration: none;   /* sin subrayado */
    font-size: 0.9rem;
    transition: 0.2s;
    border-right: 1px solid #2c5a6e;
}

/* Quitamos borde derecho al último */
.submenu li:last-child a {
    border-right: none;
}

.submenu li a:hover {
    background-color: #00a8ff;
    color: white;
}

/* Mostrar submenú al pasar el ratón sobre el li padre */
.nav-list > li:hover .submenu {
    display: block;
}

/* Para que el último menú no se salga de la pantalla */
.nav-list > li:last-child .submenu {
    left: auto;
    right: 0;
}

/* ===== CONTENIDO DE LA PÁGINA INFORTECA ===== */
.hero {
    background: linear-gradient(135deg, #0a2b3e, #1a4a6f);
    color: white;
    padding: 60px 20px;
    text-align: center;
}

.hero h1 {
    font-size: 2.8rem;
    margin-bottom: 10px;
}

.hero p {
    font-size: 1.2rem;
    opacity: 0.9;
}

.content {
    padding: 40px;
    background: #fff;
}

.content h2 {
    color: #0a2b3e;
    border-left: 5px solid #00a8ff;
    padding-left: 15px;
    margin-bottom: 20px;
}

.content p {
    line-height: 1.6;
    color: #333;
    margin-bottom: 15px;
}

footer {
    background: #0a2b3e;
    color: #ccc;
    text-align: center;
    padding: 20px;
    font-size: 0.8rem;
}

/* ===== RESPONSIVE: Para pantallas pequeñas, los submenús se mantienen horizontales pero pueden hacer scroll si es necesario ===== */
@media (max-width: 768px) {
    .nav-list {
        justify-content: flex-start;
        overflow-x: auto;
    }
    .submenu {
        overflow-x: auto;
        white-space: nowrap;
        max-width: 100%;
    }
    .submenu li a {
        padding: 10px 15px;
        font-size: 0.8rem;
    }
    .nav-list > li > a {
        padding: 12px 16px;
        font-size: 0.9rem;
    }
}
    .nav-list > li:hover .submenu-vertical {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .submenu-vertical li a {
      display: block;
      padding: 0.4rem 1rem;
      color: #f5e7c8;
      text-decoration: none;
      font-size: 0.85rem;
      background: #1d2b38;
      margin: 2px 6px;
      border-radius: 30px;
    }

    .submenu-vertical li a:hover {
      background: #ffaa55;
      color: #000;
      padding-left: 1.5rem;
    }

    /* LAYOUT DE 3 COLUMNAS */
    .grid-main {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      margin-bottom: 2rem;
      justify-content: center;
    }

    /* SIDEBAR IZQUIERDO */
    .sidebar-ads {
      width: 250px;
      flex-shrink: 0;
      background: #0e1724cc;
      border-radius: 1.5rem;
      padding: 1rem;
      display: flex;
      flex-direction: column;
      gap: 1rem;
      align-self: start;
    }

    .ad-item {
      background: #1f2a3e;
      text-align: center;
      border-radius: 1rem;
      padding: 0.8rem;
    }

    .ad-item i {
      font-size: 1.8rem;
      color: #ffaa55;
    }

    .ad-btn {
      background: #ffaa5533;
      border: none;
      border-radius: 2rem;
      padding: 0.2rem 0.7rem;
      margin-top: 0.5rem;
      cursor: pointer;
      color: #ffdd99;
    }

    /* CONTENIDO CENTRAL */
    .content-center {
      flex: 2;
      min-width: 280px;
      background: rgba(0, 0, 0, 0.55);
      border-radius: 1.8rem;
      padding: 1.2rem;
      border: 1px solid #ffaa66;
    }

    /* PANEL DERECHO (consola) */
    .listener-panel {
      width: 280px;
      flex-shrink: 0;
      background: #0a111cd9;
      border-radius: 1.5rem;
      padding: 1rem;
      border: 1px solid #ffaa55;
      align-self: start;
    }

    .console-log {
      background: #010a14;
      border-radius: 1rem;
      height: 150px;
      overflow-y: auto;
      padding: 0.5rem;
      font-family: monospace;
      font-size: 0.7rem;
    }

    #commandInput {
      width: 100%;
      background: #1e2a3a;
      border: 1px solid #ffaa55;
      color: white;
      border-radius: 1rem;
      padding: 0.5rem;
      margin: 0.5rem 0;
    }

    .btn-console {
      background: #ff8c42;
      border: none;
      border-radius: 2rem;
      padding: 0.4rem;
      width: 100%;
      font-weight: bold;
      cursor: pointer;
    }

    /* LOGIN Y FORMULARIO */
    .login-area, .user-form {
      background: #101c28;
      border-radius: 1.2rem;
      padding: 1rem;
      margin-bottom: 1.2rem;
    }

    .login-area input, .user-form input, .user-form select {
      width: 100%;
      padding: 0.5rem;
      margin: 0.4rem 0;
      background: #1e2a3a;
      border: 1px solid #ffaa55;
      border-radius: 2rem;
      color: white;
    }

    .btn-solid {
      background: #ff8c42;
      border: none;
      border-radius: 2rem;
      padding: 0.5rem;
      font-weight: bold;
      cursor: pointer;
      width: 100%;
    }

    .status-message {
      font-size: 0.75rem;
      text-align: center;
      margin-top: 0.4rem;
    }

    .logout-btn-mini {
      background: #ac4e2c;
      color: white;
      border: none;
      border-radius: 1rem;
      padding: 0.1rem 0.5rem;
      margin-left: 0.5rem;
      cursor: pointer;
    }

    /* ZONA DE IMÁGENES */
    .image-gallery-area {
      background: #101c28;
      border-radius: 1.2rem;
      padding: 1rem;
      margin-bottom: 1.2rem;
    }

    .gallery-flex {
      display: flex;
      flex-wrap: wrap;
      gap: 0.8rem;
      margin: 0.8rem 0;
      justify-content: center;
    }

    .img-placeholder {
      background: #1f2a3e;
      border-radius: 0.8rem;
      padding: 0.3rem;
      border: 1px solid #ffaa55;
    }

    .img-placeholder img {
      max-width: 100px;
      height: 70px;
      border-radius: 0.5rem;
      display: block;
    }

    .gallery-hint {
      font-size: 0.7rem;
      color: #bbccaa;
      text-align: center;
    }

    /* SECCIONES DINÁMICAS */
    .sections-box {
      background: #010f1a40;
      border-radius: 1rem;
      padding: 1rem;
    }

    .section-tab {
      display: none;
      animation: fade 0.2s;
    }

    .section-tab.active {
      display: block;
    }

    @keyframes fade {
      from { opacity: 0; }
      to { opacity: 1; }
    }

    /* FOOTER */
    .main-footer {
      background: #03060cce;
      border-radius: 1.5rem;
      padding: 0.8rem;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
    }

    .socials a {
      color: #ddd;
      font-size: 1.3rem;
      margin: 0 0.4rem;
      display: inline-block;
      transition: 0.2s;
    }

    .socials a:hover {
      color: #ffaa55;
    }

    .visit-count {
      font-weight: 500;
    }

    .copyright-edit {
      display: flex;
      gap: 0.5rem;
      align-items: center;
    }

    .edit-btn {
      background: #ffaa5533;
      border: none;
      border-radius: 2rem;
      padding: 0.1rem 0.5rem;
      cursor: pointer;
      color: #ffdd99;
    }

    /* RESPONSIVE */
    @media (max-width: 900px) {
      .grid-main {
        flex-direction: column;
      }
      .sidebar-ads, .listener-panel {
        width: 100%;
      }
      .compact-player {
        width: 100%;
      }
      .main-header {
        flex-direction: column;
        text-align: center;
      }

/* Añadimos estilo específico para el formulario DJ (opcional, pero coherente) */
.dj-form {
  background: #101c28;
  border-radius: 1.2rem;
  padding: 1rem;
  margin-bottom: 1.2rem;
}

.dj-form input, .dj-form textarea {
  width: 100%;
  padding: 0.5rem;
  margin: 0.4rem 0;
  background: #1e2a3a;
  border: 1px solid #ffaa55;
  border-radius: 2rem;
  color: white;
  font-family: inherit;
  
}

.dj-form textarea {
  border-radius: 1rem;
  resize: vertical;
}

.dj-form .btn-solid {
  margin-top: 0.5rem;
}


