
html, body { height: 100%; margin: 0; padding: 0; font-family: 'Segoe UI', Roboto, sans-serif; overflow: hidden; background: #222; }
    #map { height: 100vh; width: 100vw; z-index: 1; background-color: #fcc706; }

    /* NAVBAR TRANSPARENTE */
    .navbar {
      position: absolute; top: 0; left: 0; width: 100%; height: 60px;
      background: rgba(30, 82, 100, 0.75); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
      display: flex; justify-content: space-between; align-items: center;
      padding: 0 20px; box-sizing: border-box; z-index: 10000;
      box-shadow: 0 2px 15px rgba(0,0,0,0.1); border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    }

    /* BOTÓN MENÚ */
    .btn-menu-toggle {
      background: #f08f34; color: white; border: none; padding: 8px 18px;
      border-radius: 20px; cursor: pointer; font-weight: bold; transition: 0.3s;
      box-shadow: 0 2px 5px rgba(0,0,0,0.2); 
    }
    .btn-menu-toggle:hover { background: #000; transform: scale(1.05); }

    /* PANEL DESPLEGABLE */
    #nav-content {
      position: absolute; top: -350px; left: 0; width: 100%;
      background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px);
      z-index: 9999; padding: 25px; box-sizing: border-box;
      box-shadow: 0 10px 25px rgba(0,0,0,0.15);
      transition: top 0.4s ease;
      display: flex; flex-direction: column; gap: 20px;
      text-align: center;
    }
    #nav-content.active { top: 60px; }

    /* SECCIÓN DE FILTROS DENTRO DEL MENÚ */
    .filter-group {
      display: flex; justify-content: center; gap: 30px;
      padding: 10px; border-bottom: 1px solid #eee;
    }
    .filter-item { cursor: pointer; display: flex; align-items: center; gap: 8px; font-weight: 500; }
    .filter-item input { width: 18px; height: 18px; }

    /* BOTONES DE ENLACE */
    .menu-link {
      text-decoration: none; padding: 12px; border-radius: 8px;
      font-weight: bold; transition: 0.2s;
    }
    .btn-auspiciantes { background: #f08f34; color: #333; border: 1px solid #e6c200; }
    .btn-auspiciantes:hover { background: #ffeb3b; }
    
    .btn-autor { background: #f4f4f4; color: #666; font-size: 14px; }
    .btn-autor span { color: #000; }

    /* SIDEBAR (INFO DE EVENTOS) */
    #sidebar {
      position: absolute; top: 60px; right: -400px;
      width: 350px; height: calc(100vh - 60px);
      background: white; z-index: 2500;
      box-shadow: -5px 0 15px rgba(0,0,0,0.1);
      transition: right 0.3s ease; padding: 25px; box-sizing: border-box; overflow-y: auto;
    }
    #sidebar.open { right: 0; }
    .sidebar-img { width: 100%; border-radius: 10px; margin-bottom: 15px; }

    @media (max-width: 600px) { #sidebar { width: 100%; right: -100%; } }

        /* Botón Cómo Llegar */
    .btn-como-llegar {
      display: block;
      text-align: center;
      background-color: #4285F4; /* Azul Google Maps */
      color: white !important;
      text-decoration: none;
      padding: 12px 10px;
      border-radius: 8px;
      font-weight: bold;
      margin: 10px 0 20px 0;
      transition: background 0.3s ease, transform 0.2s ease;
      box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    }

    .btn-como-llegar:hover {
      background-color: #357ae8;
      transform: translateY(-2px);
    }

    .btn-como-llegar:active {
      transform: translateY(0);
    }

    .btn-download {
      background-color: #f08f34; 
      color: white !important;
      text-decoration: none;
      padding: 8px 15px;
      border-radius: 20px;
      font-size: 13px;
      font-weight: bold;
      display: flex;
      align-items: center;
      gap: 6px;
      transition: all 0.3s ease;
      box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    }
    
    .btn-download:hover {
      background-color: #000;
      transform: translateY(-1px);
      box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    }
    
    /* En celulares muy pequeños ocultamos la palabra "Programa" y dejamos solo el icono */
    @media (max-width: 480px) {
      .btn-download span {
        display: none;
      }
      .btn-download {
        padding: 8px 10px;
      }
    }