/* ============================================================
   ACTIVITIES / APP GRID OVERLAY
   ============================================================ */
#activities-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.85);
  z-index: 1000;
  display: none;
  flex-direction: column;
  align-items: center;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
#activities-overlay.active { display: flex; }

/* Search bar */
#activities-search-wrap {
  margin-top: 60px;
  margin-bottom: 30px;
  width: 100%;
  max-width: 500px;
  padding: 0 20px;
}
#activities-search {
  width: 100%;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 24px;
  padding: 12px 20px;
  font-size: 16px;
  color: #fff;
  outline: none;
  font-family: 'Ubuntu', sans-serif;
  transition: border-color 0.2s, background 0.2s;
}
#activities-search::placeholder { color: rgba(255,255,255,0.35); }
#activities-search:focus {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.25);
}

/* App grid */
#activities-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 8px;
  width: 100%;
  max-width: 700px;
  padding: 0 20px;
  overflow-y: auto;
  flex: 1;
  align-content: start;
}
#activities-grid::-webkit-scrollbar { width: 4px; }
#activities-grid::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 2px; }

.activities-app {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 8px 12px;
  border-radius: 14px;
  cursor: pointer;
  transition: background 0.15s, transform 0.15s;
  user-select: none;
}
.activities-app:hover {
  background: rgba(255,255,255,0.08);
  transform: scale(1.05);
}
.activities-app:active {
  transform: scale(0.96);
}
.activities-app.hidden { display: none; }

.activities-app-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  overflow: hidden;
}
.activities-app-icon svg {
  width: 36px;
  height: 36px;
}

.activities-app-name {
  font-size: 12px;
  color: #ddd;
  text-align: center;
  line-height: 1.3;
  max-width: 90px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Pagination dots (optional visual) */
#activities-page-dots {
  display: flex;
  gap: 8px;
  padding: 16px;
}
.activities-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.25);
}
.activities-dot.active { background: #fff; }
