
html, body { height: 100%; margin: 0; padding: 0; font-family: 'Segoe UI', Roboto, sans-serif; overflow: hidden; background: #222; }
          /* Asegura que el contenedor del mapa ocupe siempre el 100% real */
          #map {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            height: 100%;
            width: 100%;
            background-color: #fcc706;
            z-index: 1;
          }
          /* Evita que el mapa se rompa al rotar en móviles */
          .leaflet-container {
            height: 100% !important;
            width: 100% !important;
          }

    /* 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); 
      font-size: 20px;
    }
    .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; }


     /* Contenedor principal de créditos */
    .footer-credits {
      margin-top: auto; 
      padding: 15px;
      background: rgba(0, 0, 0, 0.05);
      border-radius: 12px;
      border: 1px solid rgba(0, 0, 0, 0.1);
    }

    .credits-title {
      font-size: 10px;
      letter-spacing: 2px;
      color: #888;
      margin-bottom: 8px;
      font-weight: bold;
    }

    .credits-links {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 15px;
    }

    .credit-item {
      text-decoration: none;
      color: #333;
      font-weight: 600;
      font-size: 14px;
      transition: all 0.3s ease;
      display: flex;
      align-items: center;
    }

    .credit-item img {
      height: 50px; /* Tamaño del logo de Martín */
      width: auto;
      filter: grayscale(100%); /* Efecto elegante */
      transition: 0.3s;
    }

    .credit-item:hover {
      color: #f08f34; /* Tu color naranja */
    }

    .credit-item:hover img {
      filter: grayscale(0%);
      transform: scale(1.1);
    }

    .separator {
      color: #ccc;
      font-weight: 100;
    }

    /* 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: #000; transform: scale(1.05); 
    }
    
    /* En celulares muy pequeños ocultamos la palabra "Cronograma" y dejamos solo el icono */
    @media (max-width: 480px) {
      .btn-download span {
        display: none;
      }
      .btn-download {
        padding: 8px 10px;
      }
    }


 